|
|
|
|
|
by NovaX
1890 days ago
|
|
A multi-threaded benchmark of a cache should be fully populated and use a scrambled Zipfian distribution. This emulates hot/cold entries and highlights the areas of contention (locks, CASes, etc). A lock-free read benefits thanks to cpu cache efficiency causing super linear growth. This shows if the implementation could be a bottleneck and scales well enough, after which the hit rate and other factors are more important than raw throughput. I would rather sacrifice a few nanos on a read than suffer much lower hit rates or have long pauses on a write due to eviction inefficiencies. [1] https://github.com/ben-manes/caffeine/wiki/Benchmarks#read-1... [2] https://github.com/ben-manes/caffeine/blob/master/caffeine/s... |
|