Skip to content
Blazing fast concurrent HashMap for Rust.
Branch: master
Clone or download
Latest commit 778f81f Jan 17, 2020
Type Name Latest commit message Commit time
Failed to load latest commit information.
.github/workflows Revert ci changes due to cargo bug. Jan 15, 2020
assets Updated readme. Dec 6, 2019
benches Added get benchmarks. Dec 6, 2019
src Dealt with RUSTSEC-2019-0031. Jan 17, 2020
.gitignore Added extracted code from ccl. Hello new repo. Aug 26, 2019
Cargo.toml v3.2.1 Jan 17, 2020
LICENSE Add LICENSE Aug 25, 2019 Fix UB. Jan 16, 2020


Blazingly fast concurrent map in Rust.

DashMap is an implementation of a concurrent associative array/hashmap in Rust.

DashMap tries to implement an easy to use API similar to std::collections::HashMap with some slight changes to handle concurrency.

DashMap tries to be very simple to use and to be a direct replacement for RwLock<HashMap<K, V>>. To accomplish these all methods take &self instead modifying methods taking &mut self. This allows you to put a DashMap in an Arc<T> and share it between threads while being able to modify it.

DashMap puts great effort into performance and aims to be as fast as possible. If you have any suggestions or tips do not hesitate to open an issue or a PR.



Cargo features

  • serde - Enables serde support.

  • raw-api - Enables the unstable raw-shard api.


DashMap is gladly accepts contributions! Do not hesitate to open issues or PR's.

I will take a look as soon as I have time for it.


Benchmarks are currently not fantastic and can be improved and more can be created. Help is welcomed with open arms.

Also, to be brutally honest, do your own benchmarking with your setup. This is one of infinite possible configations. It doesn't speak for how it will work for you.

Insert Benchmark

Get Benchmark

Google Doc

Special thanks

  • Karl Bergström

  • DPC


This project is licensed under MIT.

You can’t perform that action at this time.