5 个不稳定版本
使用旧的 Rust 2015
0.3.2 | 2016年9月13日 |
---|---|
0.3.1 | 2016年9月13日 |
0.3.0 | 2016年9月13日 |
0.2.0 | 2016年7月15日 |
0.0.1 | 2014年11月20日 |
#2002 在 数据结构 中
3,675 每月下载量
在 22 个crate中(9个直接使用)
37KB
634 行
bloom
在 Rust 中实现各种近似集合成员结构。目前包括标准布隆过滤器,以及最简单的计数布隆过滤器。
将来会添加更多高级类型的 ASMS。
基本用法
extern crate bloom;
use bloom::BloomFilter;
let expected_num_items = 1000;
let false_positive_rate = 0.01;
let mut filter:BloomFilter = BloomFilter::with_rate(false_positive_rate,expected_num_items);
filter.insert(&1i);
filter.contains(&1i); /* true */
filter.contains(&2i); /* false */
安装
使用 Cargo 并将以下内容添加到你的 Cargo.toml 文件中
[dependencies]
bloom="0.2.0"
文档
见 这里
误报率
误报率以浮点数指定,范围为 (0,1)。这表示在 X
次探测中,X * 率
应该返回一个误报。更高的值会导致过滤器更小(但更不准确)。
基准测试
此 crate 包含一些基准测试来测试布隆过滤器的性能。要运行它们,您需要使用 rust nightly(基准特性尚未稳定),然后运行
cargo bench --features "do-bench"
依赖项
~97KB