#hamt #thread #shared #map #set #node #sub-trees

nightly hamt-sync

HAMT implementation whose sub-trees can be shared over threads

9 releases

Uses old Rust 2015

0.2.5 Jun 14, 2018
0.2.4 Jun 14, 2018
0.2.0 Feb 10, 2018
0.1.2 Feb 3, 2018
0.1.1 Jan 30, 2018

#11 in #hamt

MIT license

30KB
885 lines

hamt-sync

Circle CI Crates.io License

HAMT implementation whose sub-trees can be shared over threads.

Hash-Array Mapped Trie (HAMT) is a data structure popular as a map (a.k.a. associative array or dictionary) or set. Its immutable variant is adopted widely by functional programming languages like Scala and Clojure to implement immutable and memory-efficient associative arrays and sets.

Technical notes

The implementation canonicalizes tree structures of HAMTs by eliminating intermediate nodes during delete operations as described in the CHAMP paper.

References

License

MIT

Dependencies

~330–520KB