This crate provides two implementations of fast, concurrent, shared hash maps.
Both implementations provide lock-free implementations that use lock-free linked list
Memory is safely destructed and reclaimed using either
crossbeam::epoch or a manual Quiescent-State-Based
Reclamation implementation. See the
manual module documentations
respectively for further details.
Table resizing is not yet supported in either implementation, but the map will also never fill due to the linked implementation; instead, performance will decrease as the map is filled with more keys.
The crate was written by Aditya Saligrama and Andrew Shen while writing A practical analysis of Rust’s concurrency story as their 2018 project for MIT PRIMES.
A concurrent hash map implementation with crossbeam memory reclamation.
A concurrent hash map implementation with a hand-written epoch-based memory management scheme.