7个不稳定版本
0.4.1 | 2022年6月13日 |
---|---|
0.4.0 | 2021年4月7日 |
0.3.0 | 2021年1月16日 |
0.2.2 | 2020年9月23日 |
0.1.0 | 2020年4月16日 |
#389 在 算法
2,989 每月下载量
用于 3 crates
185KB
6K SLoC
HyperLogLog
HyperLogLog是一种用于估计多集(multiset)中不同元素(distinct elements,cardinality)数量的概率算法。P. Flajolet等人描述的原始算法的几个变体已被提出。
以下提供了以下实现
用法
添加到 Cargo.toml
[dependencies]
hyperloglogplus = "*"
使用Rust编译器版本1.45.0或更高版本时,请考虑启用const-loop
功能以获得更好的性能,更多信息请参阅此处。
[dependencies]
hyperloglogplus = { version = "*", features = ["const-loop"] }
使用HyperLogLog++实现的简单示例
use std::collections::hash_map::RandomState;
use hyperloglogplus::{HyperLogLog, HyperLogLogPlus};
let mut hllp: HyperLogLogPlus<u32, _> =
HyperLogLogPlus::new(16, RandomState::new()).unwrap();
hllp.insert(&12345);
hllp.insert(&23456);
assert_eq!(hllp.count().trunc() as u32, 2);
评估
在此处可以找到实验评估的图表和讨论。
依赖关系
~0.4–1MB
~23K SLoC