#hash-map #atomic #replace #rw-lock

dashmap_with_out_t_map_trait

为 Rust 提供的闪电般快速的并发 HashMap

1 个稳定版本

5.0.0 2022年1月14日

#848并发

MIT 许可证

94KB
2K SLoC

DashMap

在 Rust 中实现的高速并发映射。

DashMap 是 Rust 中并发关联数组/哈希表的一个实现。

DashMap 试图实现一个易于使用的 API,类似于 std::collections::HashMap,并对并发处理进行了一些轻微的修改。

DashMap 试图非常简单易用,并且可以直接替换 RwLock<HashMap<K, V>>。为了实现这些目标,所有方法都接受 &self 而不是修改接受 &mut self 的方法。这使得您可以将 DashMap 放入 Arc<T> 中,并在多个线程之间共享它,同时仍然能够对其进行修改。

DashMap 在性能上投入了大量的努力,并力求尽可能快。如果您有任何建议或技巧,请毫不犹豫地提出问题或提交 PR。

version

documentation

downloads

minimum rustc version

Cargo 功能

  • serde - 启用 serde 支持。

  • raw-api - 启用不稳定的原始分片 API。

  • rayon - 启用 rayon 支持。

贡献

DashMap 欣然接受贡献!请不要犹豫,提出问题或 PR。

我会在有时间的时候查看。

话虽如此,我目前还没有为开源工作而付费。这意味着我的时间是有限的,我的工作是在我的个人生活之后。

性能

可以在这里找到包括 DashMap 的完整基准测试套件。

特别感谢

许可证

本项目的许可证为 MIT。

依赖项

~0.5–1.3MB
~23K SLoC