Crate concache[][src]

This crate provides two implementations of fast, concurrent, shared hash maps.

Both implementations provide lock-free implementations that use lock-free linked list buckets. Memory is safely destructed and reclaimed using either crossbeam::epoch or a manual Quiescent-State-Based Reclamation implementation. See the crossbeam and 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.

Modules

crossbeam

A concurrent hash map implementation with crossbeam memory reclamation.

manual

A concurrent hash map implementation with a hand-written epoch-based memory management scheme.