fusefilter 0.1.0

No alloc membership approximation
Documentation

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.