#key #membership #alloc #approximation

nightly no-std fusefilter

No alloc membership approximation

2 unstable releases

0.1.0 Aug 17, 2021
0.0.2 Aug 4, 2021
0.0.1 Aug 4, 2021

#2039 in Data structures

MIT license

38KB
798 lines

Fusefilter

Quick Start


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]);
}

Limitations

Fuse Filters are not designed to work with duplicate values. [1]

Fusefilters could benefit from some features in const generics that are not yet in nightly. We did not want to wait for const generic fuse filters, so that is the reason behind why there are some const fns and Sized.

Acknowledgement

The design here comes from Xorf.

Reference

[1] https://arxiv.org/pdf/1907.04749.pdf, 27th Annual European Symposium on Algorithms.

No runtime deps