Skip to content

layer-3-communications/masstree

Repository files navigation

Masstree

This package provides a Masstree data structure based on the paper "Cache Craftiness for Fast Multicore Key-Value Storage" by Mao, Kohler, and Morris (pdf). The key idea is a trie which achieves a fanout of 2^64 by using a B+-tree at each node. Where their paper focuses on supporting efficient concurrent update, that approach is not idiomatic in Haskell, so we focused instead on a persistent form of masstree.

Incidentally, we also expose a standalone BTree implementation which outperforms Map Word64 from the containers package, but to only supports Word64 keys (and if you can't guess how this limitation is related to the 2^64 fanout mentioned above, I'd be one surprised pickachu face).

About

No description, website, or topics provided.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published