SQLite Forum

Native support for pluggable backends in SQLite
Login
I check your benchmark report from this link: https://lumosql.org/benchmarking/

The number seems not good(100TPS for sqlite, 300 TPS for sqlite+LMDB). Is the test enable MMAP + WAL ?


On my test for https://sqlite.org/src/doc/754ad35c/README-server-edition.html with WAL2 + MMAP:

synchronous=OFF, 26425 TPS.

synchronous=NORMAL, 13000 TPS.

synchronous=FULL, 9082 TPS.

with memory 81920 TPS.

Each TPS include 6 INSERT.

The read TPS is 210000 for total 65536 records. 

I test on Intel 4.5G + NVME SSD, WAL2 branch.


> Enabling an SQLite codec requires the compile-time definition of SQLITE_HAS_CODEC, which is not present on standard, unmodified SQLite builds.

This is not the case any more, use a VFS shim can handle the encryption and corruption detection. Use VFS no need call internal functions.

> SQLCipher modifies supporting functions to introduce special pragmas, built in functions, etc (e.g. "PRAGMA cipher_*"). Injecting this functionality in a plugin architecture wouldn't be possible.

I am not sure this could be used for the task: https://github.com/sqlite/sqlite/blob/master/ext/misc/cksumvfs.c#L725