4 ms·
> Every time he reads he acquires a lock by calling epochs.lock(). Where do you see this? I only see it lock on refresh.
by the_mitsuhiko 8y 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.
- NovaX 8y agoThe 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.
- Jonhoo 8y agoI'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/d307999c1ad78d10ecb6ea911b6e94d36bc841ca/benchmark/src/main.rs#L142 https://github.com/jonhoo/rust-evmap/blob/d307999c1ad78d10ec...