I am curious how this differs from chashmap:
https://gitlab.redox-os.org/redox-os/chashmap
They provide benchmarks, but I would be more interested to know how the implementation differs.
https://gitlab.redox-os.org/redox-os/chashmap
They provide benchmarks, but I would be more interested to know how the implementation differs.
dashmap works by splitting into an array of shards, each shard behind its own rwlock. The shard is decided from the keys hash. This will only lock and unlock once for any one shard and allows concurrent table locking operations provided they are on different shards. Further, there is no central rwlock each thread must go thru which improves performance significantly.