flowerbloom 0.1.0

fast bloom filter implementation with thorough documentation and tests
Documentation
  • Coverage
  • 64.71%
    11 out of 17 items documented4 out of 14 items with examples
  • Size
  • Source code size: 25.85 kB This is the summed size of all the files inside the crates.io package for this release.
  • Documentation size: 905.03 kB This is the summed size of all files generated by rustdoc for all configured targets
  • Ø build duration
  • this release: 15s Average build duration of successful builds.
  • all releases: 15s Average build duration of successful builds in releases after 2024-10-23.
  • Links
  • rauljordan/flowerbloom
    0 0 0
  • crates.io
  • Dependencies
  • Versions
  • Owners
  • rauljordan

Flowerbloom

Fast bloom filter library written in Rust. My attempt at creating a production-ready crate with as nice of an API, documentation, tests, and CI as possible. Hilariously overengineered on purpose to showcase how robust Rust's tooling is for writing and maintaining open source crates.

Benchmarks

Flowerbloom is fast compared to the other popular bloomfilter crate given its simplicity and choice of default hashing operations.

# Inserting and checking into a capacity 100k bloom filter with fp rate of 0.03

crate comparisons/flowerbloom crate                                                                            
                        time:   [71.530 ns 71.620 ns 71.737 ns]
crate comparisons/bloomfilter crate                                                                             
                        time:   [17.842 µs 17.887 µs 17.946 µs]

TODO

  • Proptest
  • Plotters empirical vs. analytical false positive results
  • Cargo bench with criterion
  • Crates docs and doctest
  • Check if target fp rate is reached
  • What happens if filter gets fully filled up?
  • Misc methods, clear, is_empty, fill_rate, etc.

License

Bloomy is licensed under the MIT license.