SQLite3 ported to use LMDB instead of its original Btree code.
C Tcl Shell Makefile Bison Awk Other
Switch branches/tags
Nothing to show
Clone or download
Latest commit bb8144e Apr 22, 2015
Permalink
Failed to load latest commit information.
art version 3.7.12 Mar 3, 2013
contrib Initial commit Sep 17, 2011
doc version 3.7.14 Mar 3, 2013
ext version 3.7.17 Sep 13, 2013
mptest version 3.7.17 Sep 13, 2013
src version 3.7.17 Sep 13, 2013
test version 3.7.17 Sep 13, 2013
tool version 3.7.17 Sep 13, 2013
.gitignore version 3.7.8 from fossil Mar 3, 2013
Makefile Initial commit Sep 17, 2011
Makefile.arm-wince-mingw32ce-gcc Initial commit Sep 17, 2011
Makefile.in version 3.7.17 Sep 13, 2013
Makefile.linux-gcc Initial commit Sep 17, 2011
Makefile.msc version 3.7.17 Sep 13, 2013
Makefile.vxworks version 3.7.17 Sep 13, 2013
README Initial commit Sep 17, 2011
README.md Create README.md Apr 22, 2015
VERSION version 3.7.17 Sep 13, 2013
aclocal.m4 Initial commit Sep 17, 2011
addopcodes.awk Initial commit Sep 17, 2011
config.guess Initial commit Sep 17, 2011
config.h.in version 3.7.11 Mar 3, 2013
config.sub Initial commit Sep 17, 2011
configure version 3.7.17 Sep 13, 2013
configure.ac version 3.7.15 Mar 3, 2013
install-sh Initial commit Sep 17, 2011
ltmain.sh Initial commit Sep 17, 2011
magic.txt version 3.7.17 Sep 13, 2013
main.mk version 3.7.17 Sep 13, 2013
manifest version 3.7.17 Sep 13, 2013
manifest.uuid version 3.7.17 Sep 13, 2013
mkdll.sh Initial commit Sep 17, 2011
mkextu.sh Initial commit Sep 17, 2011
mkextw.sh Initial commit Sep 17, 2011
mkopcodec.awk version 3.7.8 from fossil Mar 3, 2013
mkopcodeh.awk Initial commit Sep 17, 2011
mkso.sh Initial commit Sep 17, 2011
spec.template Initial commit Sep 17, 2011
sqlite.pc.in Initial commit Sep 17, 2011
sqlite3.1 Initial commit Sep 17, 2011
sqlite3.pc.in Initial commit Sep 17, 2011

README.md

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