Skip to content

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

Notifications You must be signed in to change notification settings

fagan2888/sqlightning

 
 

Repository files navigation

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:

SQLiteSQLightning
Operation times in microseconds, lower is better
Sync Seq Write8175.3716171.233
Sync Rand Write8308.7066231.249
Seq Write25.58731.778
Batch Seq Write7.4027.087
Rand Write33.23532.902
Batch Rand Write18.84713.754
Rand Read22.6457.685
Seq Read7.5571.551
Rev Seq Read7.4561.531

About

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

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • C 89.8%
  • Tcl 4.6%
  • Shell 3.6%
  • Makefile 1.1%
  • Bison 0.7%
  • Awk 0.1%
  • Other 0.1%