bigcache-bench
bigcache-bench copied to clipboard
Benchmarks for BigCache project
As the title says. It should also obsolete #16. Every string instantiation in `key(i)` caused a heap allocation, which tainted the benchmarks. [UPDATE] Meanwhile I added some more commits to...
This PR adds [FreeLRU](https://github.com/elastic/go-freelru) to the GC overhead comparison. `FreeLRU` is a GC-less and fast "exact" HashMap LRU implementation. The PR is applied on top of #19, so bette rget...
This change generates the keys and values in advance. This means the measurements of the GC impact of the cache algorithms is no longer tainted by key/value creation, which comes...
Hi, it's not a real PR but some sample code to demonstrate my idea. First, thanks for this great project. I'm trying to include this lib in my project and...
When I try to execute `go run caches_gc_overhead_comparison.go` , the result was so confused.... go version go1.19 linux/amd64 cpu: AMD EPYC 7K62 48-Core Processor I've tried serval times with the...
Instead of comparing sync.Map, perhaps you should compare regular Map extended with sync.Mutex, as a sync.Map has a very narrow use cases. More information here: https://www.youtube.com/watch?v=BywIJqYodl4
``` BenchmarkLRUByteHashSet-12 53083549 22.0 ns/op 5 B/op 0 allocs/op BenchmarkLRUSet-12 12577149 96.6 ns/op 106 B/op 3 allocs/op BenchmarkBigCacheSet-12 9351686 126 ns/op 71 B/op 0 allocs/op BenchmarkLRUByteHashGet-12 107372199 11.0 ns/op 2...
We should add following caches to our benchmark set * https://github.com/dgraph-io/ristretto * https://github.com/VictoriaMetrics/fastcache * https://github.com/goburrow/cache