8个版本
0.2.0 | 2021年5月4日 |
---|---|
0.1.6 | 2021年4月29日 |
#1174 在 并发 中
在 3 个crates中使用了 (通过 snarkos-network)
10KB
209 行
mpmc-map
目的
此crate提供了一个快速最终一致的多生产者多消费者map。适用于高读低写环境。
设计
MpmcMap
由一个 arc-swap
的 im::HashMap
支持。我们使用actor模型,通过一个 tokio::sync::mpsc
通道接收事件到更新任务,该任务将应用更新并更新内部map。
不适用此crate的情况
在高写入环境中,此crate将有较高的开销。如果您有很多写入操作,请寻找具有防抖功能的最终一致map实现,例如 evmap
。
或者,当然,提交一个PR来添加此功能!
依赖
~3–4.5MB
~73K SLoC