go-freelru

GC-less, fast and generic LRU hashmap library for Go

APACHE-2.0 License

Stars
148
Committers
5
go-freelru - Release v0.13.0 Latest Release

Published by rockdaboot 7 months ago

  • Fix addMetrics() of ShardedLRU
  • Add stress test for ShardedLRU with lifetime
  • Add a helping comment to the panic() call
go-freelru - v0.12.0

Published by rockdaboot 8 months ago

  • Add Metrics() and GetMetrics() to Cache interface
go-freelru - v0.11.0

Published by rockdaboot 10 months ago

  • Improve ShardedLRU in speed
  • Use one contiguous block of memory for ShardedLRU
  • Improve and extend benchmarks
go-freelru - v0.10.0

Published by rockdaboot 10 months ago

  • added linting via golangci-lint (use make lint)
  • added Github CI for running the linter, the tests and the benchmarks
go-freelru - v0.9.0

Published by rockdaboot 10 months ago

  • Added SyncedLRU, a thread-safe exact LRU wrapped around LRU for low concurrency situations.
  • Added ShardedLRU, a thread-safe sharded LRU to avoid lock contention for high concurrency situations.
  • Added parallel benchmarks.
  • Added benchmarks of several other LRU/cache implementations.
go-freelru - v0.6.0

Published by rockdaboot over 1 year ago

Rename package go_freelru to freelru.

go-freelru - v0.5.0

Published by rockdaboot over 1 year ago

Fix a serious issue that broke insert-after-evict in the Add() function.

go-freelru - v0.4.0

Published by rockdaboot over 1 year ago

Add Purge() function.

go-freelru - v0.3.0

Published by rockdaboot over 1 year ago

Simplify the API for creating new LRU instances.
The Config type has been removed.
Removed DefaultConfig() and NewWithConfig().
The arguments to the New() function have changed.
New functions NewWithSize(), SetLifetime() and SetOnEvict().

go-freelru - v0.2.0

Published by rockdaboot over 1 year ago

Add lifetime support

go-freelru - v0.1.0

Published by rockdaboot over 1 year ago