#key #membership #alloc #approximation

nightly no-std fusefilter

无分配成员近似

2个不稳定版本

0.1.0 2021年8月17日
0.0.2 2021年8月4日
0.0.1 2021年8月4日

#1985数据结构

MIT 许可证

38KB
798

熔断过滤器

快速入门


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

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

let f: Fuse<u8, { N }> = Fuse::try_from(&keys);

for i in 0..10 {
    f.contains(&keys[i]);
}

限制

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

Fusefilters可以从const泛型中受益,但nightly版本中尚未提供。我们不希望等待const泛型熔断过滤器,这就是为什么有一些const fnSized

致谢

这里的设计来自Xorf

参考

[1] https://arxiv.org/pdf/1907.04749.pdf,第27届欧洲算法研讨会。

无运行时依赖