61 个稳定版本 (5 个主要版本)

6.0.1 2024年6月24日
5.5.3 2023年8月29日
5.5.0 2023年7月11日
5.4.0 2022年8月30日
1.2.0 2019年10月15日

并发 中排名第 4

Download history • Rust 包仓库 786393/week @ 2024-05-06 • Rust 包仓库 830371/week @ 2024-05-13 • Rust 包仓库 821074/week @ 2024-05-20 • Rust 包仓库 806260/week @ 2024-05-27 • Rust 包仓库 911678/week @ 2024-06-03 • Rust 包仓库 909595/week @ 2024-06-10 • Rust 包仓库 870941/week @ 2024-06-17 • Rust 包仓库 916857/week @ 2024-06-24 • Rust 包仓库 846266/week @ 2024-07-01 • Rust 包仓库 940439/week @ 2024-07-08 • Rust 包仓库 917842/week @ 2024-07-15 • Rust 包仓库 971671/week @ 2024-07-22 • Rust 包仓库 961857/week @ 2024-07-29 • Rust 包仓库 997624/week @ 2024-08-05 • Rust 包仓库 999537/week @ 2024-08-12 • Rust 包仓库 1102509/week @ 2024-08-19 • Rust 包仓库

每月下载量 4,106,231
3,778 个 Crates 中使用(直接使用 867 个)

MIT 许可证

130KB
3K SLoC

DashMap

Rust 中的闪电般快速的并发映射。

DashMap 是 Rust 中的一个并发关联数组和 HashMap 的实现。

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

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

DashMap 在性能方面投入了大量努力,旨在尽可能快。如果您有任何建议或技巧,请不要犹豫,提出问题或 PR。

version

documentation

downloads

minimum rustc version

Cargo 功能

  • serde - 启用 serde 支持。

  • raw-api - 启用不稳定的 raw-shard API。

  • rayon - 启用 rayon 支持。

  • inline - 启用来自 hashbrown crate 的 inline-more 功能。这可能带来更好的性能,但会以更长的编译时间为代价。

  • arbitrary - 启用对 arbitrary crate 的支持。

贡献

DashMap 欢迎贡献!请不要犹豫,提出问题或 PR。

我会尽快查看。

但说到底,我(目前)还没有为开源工作得到报酬。这意味着我的时间有限,我的工作在这里是在我的个人生活之后。

性能

可以在 这里 找到包括 DashMap 在内的全面基准测试套件。

特别感谢

许可证

本项目采用MIT许可证。

依赖项

~0.9–6.5MB
~28K SLoC