top | item 42889094

(no title)

KAdot | 1 year ago

The benchmark doesn't accurately represent the real-world database performance because the dataset is too small (roughly half a gigabyte based on [1]?), meaning it fits into the page cache bypassing disk I/O.

[1]: https://github.com/voidDB/voidDB/blob/master/test/bench_test...

discuss

order

chronode|1 year ago

This is a cool effort but their claims are wildly misleading as their benchmarks aren't fair across the board:

For example:

- BenchmarkVoidPut runs a single O(n) sized transaction

- BenchmarkLMDBPut runs a single O(n) sized transaction

- BenchmarkBadgetPut runs O(n) O(n) sized transactions (!!!)

I made a local change so that all Put benchmarks ran O(n) O(1) sized transactions and the results were quite different: Void was the slowest, followed by LMDB, Bold, LevelDB, then Badger.

I'd also wager the LMDB author would also (lovingly!) tell us we're holding it wrong

arandomusername|1 year ago

LMDB is the only one here in C, so the interop is probably what makes LMDB so slow in here