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

#612 in Data structures

Download history 61/week @ 2024-10-19 78/week @ 2024-10-26 36/week @ 2024-11-02 14/week @ 2024-11-09 23/week @ 2024-11-16 23/week @ 2024-11-23 57/week @ 2024-11-30 118/week @ 2024-12-07 224/week @ 2024-12-14 11/week @ 2024-12-21 17/week @ 2024-12-28 121/week @ 2025-01-04 108/week @ 2025-01-11 201/week @ 2025-01-18 148/week @ 2025-01-25 62/week @ 2025-02-01

571 downloads per month
Used in 8 crates (via 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

~31KB