7 releases

0.2.8 Feb 29, 2024
0.2.7 Jul 1, 2023
0.2.6 Jun 30, 2023
0.1.0 Jun 20, 2023
0.0.2 May 14, 2023

#691 in Data structures

36 downloads per month
Used in sbbf-rs-safe

MIT license

26KB
560 lines

sbbf-rs

CI Crates.io version

Split block bloom filter implementation.

Implementation of parquet bloom filter spec.

Features

  • Full runtime detection of cpu features, don't need to do target-cpu=native or manually turn on avx
  • All stable rust
  • Outputs same byte buffers on different systems. Completely cross-platform.
  • no_std support
  • relatively simple and low amount of code

Caveats

  • Only unsafe api. Safe API can be found at sbbf-rs-safe.
  • Dynamic dispatch to methods. (Not sure if this will effect performance so much)
  • On WASM, unlike other targets, need to do RUSTFLAGS="-C target-feature=+simd128" and use nightly if you want to enable SIMD accelerated version of filter. If user compiles without enabling simd128, they don't need to use nightly and the fallback implementation of a filter will be used.

Dependencies

~30KB