erthink | 4 years ago | on: Roblox October Outage Postmortem
erthink's comments
erthink | 6 years ago | on: Ask HN: What is good enough C/C++ benchmark suite for sorting algorithms?
erthink | 7 years ago | on: LMDB – Lightning Memory-Mapped Database Manager
erthink | 7 years ago | on: T1ha: even more Faster and Better hash functions family
Simple benchmark is included (git close && make). The quality and speed could be checked by Reini Urban's (https://github.com/rurban/smhasher) and Yves Orton's (https://github.com/demerphq/smhasher) forks of SMHasher suite.
Reasonable to note: t1ha have two injection points of each data word inside the loop of entropy sponge.
So BoltDB and LMDB affected users may switch to libmdbx as the Erigon (Ethereum implementation) does year ago https://github.com/ledgerwatch/erigon/wiki/Criteria-for-tran...
For now this is (relatively) easy since bindings for GoLang, Rust NodeJS/Deno, etc are available and the API is mostly the same in general.
---
The ideas that MDBX uses to solve these issues are simple: zero-cost micro-defragmentation, coalescing short GC/freelist records, chunking too long GC/freelist records, LIFO for GC/freelist reclaiming, etc.
Many of the ideas mentioned seems simple to implement in BoldDB. However the complete solution is not documented and too complicated (in accordance with the traditions inherited from LMDB ;)