This package implements a thread-safe (linearizable) hash table. The goal is to keep the synchronization overhead as low as possible by using fine-grained STM transactions. Lookups are non-blocking and are guaranteed to perform only two readTVarIO operations.
The benchmarks show that this data structure is significantly faster than placing a pure data structure (like Data.IntMap) into a TVar or MVar.
Benchmark results and more information can be found here: