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

#601 in Data structures

Download history 27/week @ 2024-11-21 35/week @ 2024-11-28 75/week @ 2024-12-05 120/week @ 2024-12-12 182/week @ 2024-12-19 13/week @ 2024-12-26 63/week @ 2025-01-02 130/week @ 2025-01-09 194/week @ 2025-01-16 168/week @ 2025-01-23 90/week @ 2025-01-30 104/week @ 2025-02-06 176/week @ 2025-02-13 418/week @ 2025-02-20 918/week @ 2025-02-27 855/week @ 2025-03-06

2,379 downloads per month
Used in 9 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