Go to file
Tom Karwowski 9deeb37ccb
feat: memoize default shard amount (#222)
Use once_cell crate to memoize the value.
This doesn't add any new dependencies, as once_cell was already a subdependency. Additionally it was merged into std in nighlty and awaiting stabilization.
2022-08-30 20:05:07 +02:00
.github/workflows raise toolchain and msrv 2021-12-12 17:49:37 +01:00
src feat: memoize default shard amount (#222) 2022-08-30 20:05:07 +02:00
.gitignore Added extracted code from ccl. Hello new repo. 2019-08-26 20:08:21 +02:00
Cargo.toml feat: memoize default shard amount (#222) 2022-08-30 20:05:07 +02:00
LICENSE Add LICENSE 2019-08-25 17:53:42 +00:00
README.md Address major issues (#202) 2022-04-29 21:02:35 +02:00
rust-toolchain Use `std:🧵:available_parallelism` in place of num_cpus (#199) 2022-04-29 19:11:02 +02:00

README.md

DashMap

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 goals, all methods take &self instead of modifying methods taking &mut self. This allows you to put a DashMap in an Arc<T> and share it between threads while still 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.

version

documentation

downloads

minimum rustc version

Cargo features

  • serde - Enables serde support.

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

  • rayon - Enables rayon support.

Contributing

DashMap 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.

That said I do not get paid (yet) to work on open-source. This means that my time is limited and my work here comes after my personal life.

Performance

A comprehensive benchmark suite including DashMap can be found here.

Special thanks

License

This project is licensed under MIT.