19个发布版本

0.2.2 2021年12月14日
0.2.1 2021年10月5日
0.2.0 2021年9月6日
0.1.6 2021年8月9日
0.0.4 2019年12月30日

#2248数据结构

Download history 14/week @ 2024-07-26 1/week @ 2024-08-02

每月81 次下载

MIT 许可证

44KB
935 代码行

静态分配成员近似

Xorfilter

一个no_std,无分配的成员近似crate。

快速入门


const N: usize = 100000;
let mut keys = [0;N];

for i in 0..N {
    keys[i] = i as u64;
}

let x = XorFilter::from(keys);
      
for i in 0..N {
    x.contains(keys[i]);
}

状态

无文档
- 阻塞于 generic_const_exprs
无序列化
- 阻塞于 Serde

为什么选择Xorfilter

其他实现需要alloc来为Vec分配。

局限性

异或过滤器不是为处理重复值而设计的。[1]

XorFilter将从const泛型中的一些尚未在nightly中实现的功能中受益。

参考

[1] Xor Filters: Faster and Smaller Than Bloom and Cuckoo Filters, Journal of Experimental Algorithmics.


lib.rs:

XorFilter:const泛型驱动的集合成员近似。

无运行时依赖