Skip to content
/ dashmap Public
forked from xacrimon/dashmap

Blazing fast concurrent HashMap for Rust.

License

Notifications You must be signed in to change notification settings

lumen/dashmap

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

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

Documentation

version

downloads

Cargo features

  • no_std - Enable no_std + alloc support.

  • serde - Enables serde support.

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

Support

Foo

Creating and testing open-source software like DashMap takes up a large portion of my time and comes with costs such as test hardware. Please consider supporting me and everything I make for the public to enable me to continue doing this.

If you want to support me please head over and take a look at my patreon.

Contributing

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.

Performance

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

NOTE: Benchmarks are currently being revamped for v4; hopefully a bit more scientific this time, stay tuned.

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.

Notes

  • cht is very broken and has inconsistency and memory safety issues making it a non-option.

Insert Benchmark

Get Benchmark

Google Doc

Special thanks

License

This project is licensed under MIT.

About

Blazing fast concurrent HashMap for Rust.

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Languages

  • Rust 100.0%