4个版本
0.4.3 | 2021年5月20日 |
---|---|
0.4.2 | 2020年8月18日 |
0.4.1 | 2020年8月7日 |
0.4.0 | 2020年8月7日 |
#1499 in 算法
147每月下载量
在10个crate(4个直接)中使用
170KB
4K SLoC
amadeus-streaming
各种流算法的SIMD加速实现。
这是amadeus
项目的子crate。
这个库仍在开发中。PR非常欢迎!目前实现的算法包括
- Count–min sketch
- Top k(Count–min sketch加上双链表哈希表来跟踪重合值排序时的重合值/Top k键)
- HyperLogLog
- Reservoir采样
该库的目标是允许组合这些算法;例如,Top k + HyperLogLog可以实现类似于SELECT key FROM table GROUP BY key ORDER BY value COUNT()的近似版本。
使用RUSTFLAGS
和nightly
特性运行您的应用程序,以利用SIMD加速。
RUSTFLAGS="-C target-cpu=native" cargo run --features "streaming_algorithms/nightly" --release
查看此gist以获取要实现的其他算法的列表。其他资源包括概率数据结构 – 维基百科、DataSketches – Yahoo起源的类似Java库和Algebird – Twitter起源的类似Java库。
由于这些实现通常在热代码路径上,因此可能需要使用unsafe来)实现渐近最优算法或缓解观察到的瓶颈。
依赖项
~1.1–2.3MB
~49K SLoC