PouchDB adapter using ReactNative SQLite as its backing store.
SQLite storage performs much faster than AsyncStorage, especially with secondary index. Here is benchmark results:
1) allDocs speed |
min | max | mean |
---|---|---|---|
AsyncStorage | 72ms | 94ms | 77ms |
SQLite | 27ms | 39ms | 28ms |
2) query speed |
min | max | mean |
---|---|---|---|
AsyncStorage | 1,075ms | 1,117ms | 1,092ms |
SQLite | 33ms | 39ms | 35ms |
- Device: iPhone 6s
- Documents: 434
- Update seq: 453
- Iterations: 100
- Used options:
{ include_docs: true }
- Device: iPad Pro 9.7" (Simulator) - iOS 10.3.2
- Documents: 5000
3) bulkDocs speed |
total | mean |
---|---|---|
AsyncStorage | 25.821ms | 5.16ms |
SQLite | 22.213ms | 4.44ms |
4) allDocs speed |
total | mean |
---|---|---|
AsyncStorage | 189,379ms | 37.87ms |
SQLite | 30,527ms | 6.10ms |
allDocs
options:{ include_docs: true, attachments: true }
- Using this test script
Check out the craftzdog/pouchdb-react-native repository.
- 3.0.1
- Fix dependency and import
- 3.0.0
- 2.0.0
- Upgrade pouchdb-adapter-websql-core to 7.0.0
- 1.0.3
- Remove
pouchdb-utils
dependency
- Remove
- 1.0.2
- Upgrade pouchdb-util & pouchdb-adapter-websql-core to 6.2.0
- Update benchmark result
- 1.0.1
- Remove unnecessary console output
- 1.0.0
- Initial release