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

#813 in Data structures

Download history 56/week @ 2024-07-22 64/week @ 2024-07-29 27/week @ 2024-08-05 45/week @ 2024-08-12 99/week @ 2024-08-19 286/week @ 2024-08-26 72/week @ 2024-09-02 62/week @ 2024-09-09 30/week @ 2024-09-16 85/week @ 2024-09-23 66/week @ 2024-09-30 61/week @ 2024-10-07 23/week @ 2024-10-14 72/week @ 2024-10-21 64/week @ 2024-10-28 38/week @ 2024-11-04

202 downloads per month
Used in 7 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