All Projects → LMDB → Sqlightning

LMDB / Sqlightning

SQLite3 ported to use LMDB instead of its original Btree code. See https://github.com/LumoSQL/LumoSQL for maintained fork.

Programming Languages

c
50402 projects - #5 most used programming language

SQLite3 ported to use LMDB instead of its original Btree code.

To set the LMDB mapsize in pages, use:

PRAGMA max_page_count=<integer>;

Using tool/speedtest.tcl in the SQLite source tree, the time to insert 1000 records on my laptop SSD was 22.42 seconds using the original code, and only 1.06 seconds using LMDB. Both tests were run 3 times, with results averaged. The actual runtimes were

Original    MDB
23.14        1.07
22.02        1.05
22.12        1.08

Tested at version 3.7.7.1.

More recent test results using 3.7.17 are on pastebin, summarized below:

SQLite SQLightning
Operation times in microseconds, lower is better
Sync Seq Write 8175.371 6171.233
Sync Rand Write 8308.706 6231.249
Seq Write 25.587 31.778
Batch Seq Write 7.402 7.087
Rand Write 33.235 32.902
Batch Rand Write 18.847 13.754
Rand Read 22.645 7.685
Seq Read 7.557 1.551
Rev Seq Read 7.456 1.531
Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].