Hacker News new | ask | show | jobs
by the_mitsuhiko 2717 days ago
> Every time he reads he acquires a lock by calling epochs.lock().

Where do you see this? I only see it lock on refresh.

1 comments

The benchmark allocates a new ReadHandle on every get(key) operation, whose constructor performs work under a shared lock. This is a design flaw of the benchmark, not the library.
I'm not sure where you get that from? The benchmark code clones one read handle for each read thread at the beginning, which is then used for the entire benchmark: https://github.com/jonhoo/rust-evmap/blob/d307999c1ad78d10ec...