<div dir="ltr"><div><a href="https://hackage.haskell.org/package/concurrent-hashtable">https://hackage.haskell.org/package/concurrent-hashtable</a><br></div><div><br></div>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. <div><br></div><div>The benchmarks show that this data structure is significantly faster than placing a pure data structure (like Data.IntMap) into a TVar or MVar. </div><div><br></div><div>Benchmark results and more information can be found here: <div><a href="https://lowerbound.io/blog/2019-10-24_concurrent_hash_table_performance.html" target="_blank">https://lowerbound.io/blog/2019-10-24_concurrent_hash_table_performance.html</a><div><br></div><div><br></div></div></div></div>