erthink
Libmdbx chosen as storage backend for modern implementation of Ethereum in Rust
Even faster lower_bound() implementation, wanna benchmark on Apple M2
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 ;)
Libmdbx 0.9.2: One of the fastest embeddable key-value ACID database without WAL
Preliminary libmdbx C++ API – One of the fastest compact key-value ACID database
Nice check-spelling action for GitHub
Ask HN: Fast implementation of comparing arbitrary MsgPack messages?
Does anyone know a fast C/C++ implementation of comparing arbitrary MsgPack messages, without using additional memory and unpacking/deserialization?
Online API description of libmdbx 0.9 (one of the fastest key-value ACID engine)
Libmdbx 0.7 released, up to 20% faster than LMDB
Compact and fast double-to-string conversion
Ryu algorithm by Ulf Adams (https://github.com/ulfjack/ryu) known to fastest in much cases, especially for short string representations. However, I would like to draw attention to my own speed-competing but more compact GRISU-based implementation.Briefly, about this implementation:1. it is a GRUSU-based, but not exactly the GRISU2;2. for now produces only a raw ASCII representation, e.g....
Ask HN: What is good enough C/C++ benchmark suite for sorting algorithms?
Of course, this is a very broad topic. Nevertheless, is there a ready-made set of tests that shows the advantages and flaws of well-known sorting algorithms in the context where the std::sort or qsort() are used?Actually I created some improvements to a quicksort-based algorithm and it work pretty for target scenarios (i.e. faster than std::sort, that based on introsort). So I want to...
Libmdbx is up to 20% faster than legendary LMDB
Libmdbx Is Enhanced Descendant of Lightning Memory-Mapped Database
Fastest Float-to-String Conversion
Rust Implementation of T1ha (Fast Positive Hash)
The fastest portable hash
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.