Split block bloom filter implementation.
Implementation of parquet bloom filter spec.
- 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
- 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 doRUSTFLAGS="-C target-feature=+simd128"
and use nightly if you want to enable SIMD accelerated version of filter. If user compiles without enablingsimd128
, they don't need to use nightly and the fallback implementation of a filter will be used.