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

nightly hamt-sync

可以在多线程间共享子树的 HAMT 实现

9 个版本

使用旧的 Rust 2015

0.2.5 2018年6月14日
0.2.4 2018年6月14日
0.2.0 2018年2月10日
0.1.2 2018年2月3日
0.1.1 2018年1月30日

#11 in #hamt

MIT 许可证

30KB
885 代码行,不包括注释

hamt-sync

Circle CI Crates.io License

可以在多线程间共享子树的 HAMT 实现。

哈希数组映射树(HAMT) 是一种数据结构,常作为映射(即关联数组或字典)或集合使用。其不可变变体在 Scala 和 Clojure 等函数式编程语言中被广泛采用,用于实现不可变且内存高效的关联数组和集合。

技术笔记

该实现通过在删除操作中消除中间节点,对 HAMT 的树结构进行规范,正如在 CHAMP 论文 中所述。

参考文献

许可证

MIT

依赖项

~330–520KB