bloomy

Crates.iobloomy
lib.rsbloomy
version1.2.0
sourcesrc
created_at2022-09-11 20:22:40.170306
updated_at2022-09-13 09:46:00.86798
descriptionA simple Bloom filter using only two hash functions
homepagehttps://docs.rs/bloomy/
repository
max_upload_size
id663205
size411,782
Alexis Sellier (cloudhead)

documentation

https://docs.rs/bloomy/

README

Bloomy

A minimal implementation of a Bloom filter in Rust.

Bloom filters are a space-efficient probabilistic data structure invented by Burton Howard Bloom in the 1970s.

This crate combines ideas and code from various other Bloom filter crates.

The underlying bit vector implementation is adapted from existing code by Helge Wrede, Alexander Schultheiß and Lukas Simon.

In comparison with other crates, bloomy combines the following advantages:

  • Computationally efficient by using a double hashing technique pioneered by Adam Kirsch and Michael Mitzenmacher. You can find a copy of the paper in the docs/ folder.
  • Has only a single dependency: siphasher, from which multiple hashers are derived, and hence doesn't depend on the bitvec or bit-vec crates.
  • Supports union and intersection operations.
  • Supports counting items and similarity metrics.

Usage

Add the following to your Cargo.toml:

[dependencies]
bloomy = "1"

Check the examples/ folder for usage examples.

License

Licensed under the MIT license.

Commit count: 0

cargo fmt