otter icon indicating copy to clipboard operation
otter copied to clipboard

A high performance cache for Go

Results 13 otter issues
Sort by recently updated
recently updated
newest added

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...

dependencies
github_actions

## 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...

bug

`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...

enhancement

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?...

enhancement

Just random thoughts about new contracts...

enhancement
v2

curious on the lock contention and performance on multicore systems. the original s3-fifo measured up to 16cores only.

enhancement

## 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...

enhancement
help wanted

# 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...

enhancement