4个稳定版本
2.3.0 | 2023年3月25日 |
---|---|
2.2.0 | 2022年3月12日 |
2.0.0 | 2021年4月17日 |
1.0.0 | 2021年3月9日 |
726 在 数据结构 中排名
72 每月下载量
155KB
2.5K SLoC
mc-oblivious-map
此crate提供了一个在无意识RAM之上的无意识哈希表的实现,符合在mc-oblivious-traits
中描述的trait的要求。
在crate中目前
- Cuckoo哈希的桶实现,使用无意识RAM作为Cuckoo哈希的竞技场。有关背景信息,请参阅维基百科。这接近或等同于这篇论文中描述的CUCKOO-DISJOINT算法,只是使用了无意识RAM。这里的
access-or-insert
方法是这项工作的创新之处,请参阅代码注释以进行讨论。
有关更多背景信息,请参阅“两选择”哈希(ABKU99,Mitzenmacher)。有关更多背景信息,请参阅维基百科。从概念上讲,这是Cuckoo哈希的一个祖先。我们在这种环境中使用这种方法或Cuckoo哈希的主要原因在于它保证了读取操作只对表进行两次访问,这使得常数时间的属性很容易验证。Cuckoo哈希实现了良好的内存利用率,优于“两选择”,这是我们最初尝试的。
依赖项
~440KB