Skip to content

v1.1.0

Compare
Choose a tag to compare
@maypok86 maypok86 released this 04 Mar 17:54
· 40 commits to main since this release

1.1.0 - 2024-03-04

The main innovation of this release is node code generation. Thanks to it, the cache will no longer consume more memory due to features that it does not use. For example, if you do not need an expiration policy, then otter will not store the expiration time of each entry. It also allows otter to use more effective expiration policies.

Another expected improvement is the correction of minor synchronization problems due to the state machine. Now otter, unlike other contention-free caches in Go, should not have them at all.

✨️Features

  • Added DeleteByFunc function to cache (#44)
  • Added InitialCapacity function to builder (#47)
  • Added collection of additional statistics (#57)

🚀 Improvements

  • Added proactive queue-based and timer wheel-based expiration policies with O(1) time complexity (#55)
  • Added node code generation (#55)
  • Fixed the race condition when changing the order of events (#59)
  • Reduced memory consumption on small caches