LMDB / Sqlightning
SQLite3 ported to use LMDB instead of its original Btree code. See https://github.com/LumoSQL/LumoSQL for maintained fork.
Stars: ✭ 242
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].