Skip to content

ssbc/db-benchmarks

Repository files navigation

DB benchmark

This repo is meant as a place to track our progress in improving the performance of the database used for secure scuttlebutt.

Usage

Generate a dataset using ssb-fixures for testing:

npm run generate-data

This will create a database consisting of 100.000 fake messages, generated with a realistic distribution of the different kind of messages types and encrypted messages.

Optional, apply the aligned-block fix:

npm run aligned-block-fix

Finally run the benchmark:

npm run benchmark

On the first run, indexes will be created and this is mainly what we are interested in testing here. Subsequent will reuse the indexes so to run the index creating benchmark again, do a:

npm run clean-indexes

Results

Comparing ssb-db 20.3 against ssb-db2 0.5.0, using ssb-fixtures 2.2.0 (no private groups) indexing 10.000 messages:

db1: 4.658s
db2: 939.209ms

roughly 4.9x speed up

Indexing 100.000 messages:

db1: 36.836s
db2: 4.994s

roughly 7.3x speed up

Indexing 1.000.000 messages:

db1: 4:23.873 (m:ss.mmm)
db2: 26.754s

roughly 9.89x speed up

Update 2022-05-31:

Ran indexing 100.000 messages again:

db2 1.1.0: 5.646s
db2 4.1.3: 4.517s

Roughly 20% faster

Note 1.1.0 is a bit slower than 0.5, but probably also with less bugs :)

About

Tracking db indexing progress

Resources

Code of conduct

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published