3 ms·
Wonderful! I love performance engineering, and its hard to shake the feeling that I'm alone with that love in the modern software world! One note: You've got a
by josephg 5y ago
Wonderful! I love performance engineering, and its hard to shake the feeling that I'm alone with that love in the modern software world!
One note: You've got a few sections on B-Trees. BTrees may work well for on-disk data structures (eg databases, filesystems) but in my experience, skip lists work better in-memory; not to mention they're several times simpler to implement.
Eg: I got up to twice the performance moving from a b-tree to a skip list for a Rope structure, at half the code size. (And another 2x from embedding a gap buffer in each leaf):
https://crates.io/crates/jumprope https://crates.io/crates/jumprope
- mwcampbell 5y agoDo you also think skip lists would work better than B-trees for in-memory maps and sets, like Rust's BTreeMap and BTreeSet? From what I've read, the performance of those B-trees in the Rust standard library is already great. http://dtrace.org/blogs/bmc/2018/09/28/the-relative-performance-of-c-and-rust/ http://dtrace.org/blogs/bmc/2018/09/28/the-relative-performa...