Skip to content

Benchmark App to compare different storage libraries (MMKV, AsyncStorage, WatermelonDB, RealmDB, SQLite)

Notifications You must be signed in to change notification settings

mrousavy/StorageBenchmark

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

42 Commits
 
 
 
 
 
 

Repository files navigation

Storage Benchmarks

This is a benchmark app to compare popular storage solutions for React Native.

It's running React Native 0.68, with Hermes enabled.

The Benchmark consists of calling a get operation (retrieve one value from the database) a thousand times.

Here are the results, ranked from fastest to slowest:

  1. react-native-mmkv: 12ms 👑
  2. WatermelonDB: 53ms
  3. RealmDB: 81ms
  4. react-native-quick-sqlite: 82ms
  5. AsyncStorage: 242ms

MMKV is 20x faster than AsyncStorage (slowest), and 4x faster than WatermelonDB (second fastest)!

Output in the console:

Tested on an iPhone 11 Pro, Hermes, Debug

Run it

  1. Clone the repo and navigate to the app/ directory
  2. Run yarn
  3. Run yarn pods
  4. Run yarn ios --device "YOURPHONENAME"

You can also omit the --device "YOURPHONENAME" flag, but running on a Simulator always gives different results than on an actual device.

JS Engine

The benchmark project currently uses Hermes. To benchmark using JSC instead, set enable_hermes to false in the Podfile.

Hardware

The above results were tested on an iPhone 11 Pro. Results may differ on different iPhones or Android Phones.

Debug

The above results were tested in a debug build. Release mode builds come with many optimizations and are therefore faster than debug.

Operations

The above results were tested using get operations for a single string key (value: 'hello'). Results may differ when using other operations, such as set, delete, update, and more.

About

Benchmark App to compare different storage libraries (MMKV, AsyncStorage, WatermelonDB, RealmDB, SQLite)

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Contributors 4

  •  
  •  
  •  
  •