• Home
  • History
  • Annotate
Name Date Size #Lines LOC

..--

src/25-Apr-2025-4,6243,025

.cargo-checksum.jsonD25-Apr-20252.2 KiB11

Android.bpD25-Apr-20251.4 KiB6055

Cargo.tomlD25-Apr-20251.5 KiB7462

LICENSED25-Apr-20251 KiB2217

METADATAD25-Apr-2025376 1817

MODULE_LICENSE_MITD25-Apr-20250

README.mdD25-Apr-20252.2 KiB6837

TEST_MAPPINGD25-Apr-202575 87

cargo_embargo.jsonD25-Apr-202542 54

rust-toolchain.tomlD25-Apr-202584 54

README.md

1# DashMap
2
3Blazingly fast concurrent map in Rust.
4
5DashMap is an implementation of a concurrent associative array/hashmap in Rust.
6
7DashMap tries to implement an easy to use API similar to `std::collections::HashMap`
8with some slight changes to handle concurrency.
9
10DashMap tries to be very simple to use and to be a direct replacement for `RwLock<HashMap<K, V>>`.
11To accomplish these goals, all methods take `&self` instead of modifying methods taking `&mut self`.
12This allows you to put a DashMap in an `Arc<T>` and share it between threads while still being able to modify it.
13
14DashMap puts great effort into performance and aims to be as fast as possible.
15If you have any suggestions or tips do not hesitate to open an issue or a PR.
16
17[![version](https://img.shields.io/crates/v/dashmap)](https://crates.io/crates/dashmap)
18
19[![documentation](https://docs.rs/dashmap/badge.svg)](https://docs.rs/dashmap)
20
21[![downloads](https://img.shields.io/crates/d/dashmap)](https://crates.io/crates/dashmap)
22
23[![minimum rustc version](https://img.shields.io/badge/rustc-1.65-orange.svg)](https://crates.io/crates/dashmap)
24
25## Cargo features
26
27- `serde` - Enables serde support.
28
29- `raw-api` - Enables the unstable raw-shard api.
30
31- `rayon` - Enables rayon support.
32
33- `inline` - Enables `inline-more` feature from the `hashbrown` crate. Can lead to better performance, but with the cost of longer compile-time.
34
35- `arbitrary` - Enables support for the `arbitrary` crate.
36
37## Contributing
38
39DashMap gladly accepts contributions!
40Do not hesitate to open issues or PR's.
41
42I will take a look as soon as I have time for it.
43
44That said I do not get paid (yet) to work on open-source. This means
45that my time is limited and my work here comes after my personal life.
46
47## Performance
48
49A comprehensive benchmark suite including DashMap can be found [here](https://github.com/xacrimon/conc-map-bench).
50
51## Special thanks
52
53- [Jon Gjengset](https://github.com/jonhoo)
54
55- [Yato](https://github.com/RustyYato)
56
57- [Karl Bergström](https://github.com/kabergstrom)
58
59- [Dylan DPC](https://github.com/Dylan-DPC)
60
61- [Lokathor](https://github.com/Lokathor)
62
63- [namibj](https://github.com/namibj)
64
65## License
66
67This project is licensed under MIT.
68