#bloom-filter #bloom #documentation #testing #api #rate

flowerbloom

具有详尽文档和测试的快速布隆过滤器实现

1个不稳定版本

0.1.0 2023年4月24日

#2023 in 数据结构

MIT 许可证

17KB
247

Flowerbloom

使用Rust编写的快速布隆过滤器库。我尝试创建一个具有尽可能好的API、文档、测试和CI的生产级crate。故意过度工程化,以展示Rust的工具有多强大,可以用于编写和维护开源crate。

基准测试

与其它流行的bloomfilter crate相比,Flowerbloom由于简单和默认的哈希操作选择而速度快。

# Inserting and checking into a capacity 100k bloom filter with fp rate of 0.03

crate comparisons/flowerbloom crate                                                                            
                        time:   [71.530 ns 71.620 ns 71.737 ns]
crate comparisons/bloomfilter crate                                                                             
                        time:   [17.842 µs 17.887 µs 17.946 µs]

待办事项

  • Proptest
  • Plotters经验与分析假阳性结果比较
  • Cargo bench与criterion
  • Crates文档和doctest
  • 检查是否达到目标fp率
  • 如果过滤器完全填满会发生什么?
  • 其他方法,如clear、is_empty、fill_rate等。

许可证

Bloomy采用MIT许可证。

依赖

~1MB