11 个版本 (重大变更)
0.9.0 | 2023 年 10 月 25 日 |
---|---|
0.7.0 | 2023 年 6 月 28 日 |
0.6.1 | 2022 年 11 月 14 日 |
0.5.1 | 2022 年 4 月 29 日 |
0.3.0 | 2022 年 3 月 29 日 |
#1294 在 数据结构 中排名
11,110 每月下载量
用于 80 个 crate (直接使用 40)
115KB
2.5K SLoC
用作 rust IPLD 数据结构的 HAMT crate
基于 @dignifiedquire 的作品此处 实现。此实现与 rust HashMap 接口非常接近,但代价是保存过多的值到数据库,并需要使用不安全代码从底层存储更新缓存,以及丢弃任何操作中出现的错误。现有的函数签名基于此,但重构以更接近规范并匹配必要的实现。
Hamt 是一种数据结构,模拟了具有分片、持久化和通过 Cid 可索引功能的 HashMap。Hamt 支持可变位宽以调整树中每个高度的指针数量。Hamt 可以在任何点进行修改,但底层值只有在调用 flush 时才会持久化到存储中。
依赖项
~4MB
~85K SLoC