otter
otter copied to clipboard
A high performance cache for Go
Bumps [golangci/golangci-lint-action](https://github.com/golangci/golangci-lint-action) from 4 to 6. Release notes Sourced from golangci/golangci-lint-action's releases. v6.0.0 What's Changed This version removes annotations option (because it was useless), and removes the default output format...
## Description 1. **More Accurate Timing**: `time.Sleep` puts the current goroutine to sleep and then wakes it up after the specified time. The actual sleep duration might be slightly longer...
## Description The [checkedAdd](https://github.com/maypok86/otter/blob/e57f61b947ff2308dd2e02ee181cef634b8dfd66/stats.go#L83) will return (maxInt64 - 2) instead of maxInt64 as the comment saying. (A possible fix could be: `((naiveSum >> 63) ^ 1)` => `int64((uint64(naiveSum)>>63)^1)`) ## To...
`func (m *Map[K, V]) Delete(key K) node.Node[K, V]` and `func (m *Map[K, V]) Set(n node.Node[K, V]) node.Node[K, V]` can run concurrently, when `Delete` run into this [line](https://github.com/maypok86/otter/blob/main/internal/hashtable/map.go#L379) and `Set` run...
e.g. .HitCount() return the number of times the key is hit etc. possible to make it so that it returns both the value and hit count at the same time?...
curious on the lock contention and performance on multicore systems. the original s3-fifo measured up to 16cores only.
## Description Adding Stats exporter package and prometheus exporter ## Related issue(s) ## :white_check_mark: Checklist for your Pull Request #### Related changes (conditional) - Tests - [X] If I added...
# Clarification and motivation 1. Now offheap caches are included in the benchmarks: `bigcache` and `fastcache`. Comparison with which does not look fair. 2. I would like to add more...
# Clarification and motivation My go-to cache library for Go so far has been bluele/gcache - probably much less performant than many other alternatives but it has a very handy...