3个不稳定版本
使用旧的Rust 2015
0.11.1 | 2019年7月30日 |
---|---|
0.11.0 | 2019年7月30日 |
0.10.0 | 2019年7月28日 |
#2333 in 数据结构
12KB
231 行
xx-bloomfilter
是https://github.com/jedisct1/rust-bloom-filter的硬分叉。大部分内部结构都进行了重构,使算法更加清晰和高效。使用极快的XxHash64进行哈希。
使用方法
在你的Cargo.toml中
[dependencies]
xx-bloomfilter = "0.10.0"
使用预期的项目数量和所需的误报率进行初始化
extern crate xx_bloomfilter;
extern crate rand;
use xx_bloomfilter::Bloom;
fn main () {
let mut bloom = Bloom::new_with_rate(1_000_000, 1e-6);
let item: u64 = rand::random();
assert_eq!(false, bloom.check_and_add(&item));
assert_eq!(true, bloom.check(&item));
// Clear all values
bloom.clear();
assert_eq!(false, bloom.check_and_add(&item));
}
lib.rs
:
Rust的Bloom filter - fork自https://github.com/jedisct1/rust-bloom-filter
这是一个简单但快速的Bloom filter实现,只需要2个哈希函数,使用XXHash64和随机密钥生成。
依赖项
~1.1–1.7MB
~37K SLoC