Skip to content
This repository has been archived by the owner on Mar 22, 2023. It is now read-only.

Releases: pmem/vmemcache

vmemcache version 0.8.1

21 Oct 13:27
Compare
Choose a tag to compare

This is a minor patch release that includes a couple maintenance
changes, plus a couple of small performance improvements.

  • Use fast-hash for sharding.
  • Fix comparison of bytes with 8th bit set in the index radix tree.
  • Use chattr for the cache's file to enable nocow.
  • Fix some issues on 32-bit platforms.
  • Migrate from obsolete __sync_fetch API to __atomic_fetch.
  • Increase guard size to 4096 bytes.
  • Various documentation and test improvements.
  • add vmemcache_exists() to check entry existence without side-effects
  • Regression fixes for recent compilers

vmemcache version 0.8

29 Mar 18:03
4e0cbdd
Compare
Choose a tag to compare

This is the first official release of libvmemcache. It's an embeddable
and lightweight in-memory caching solution designed to fully take
advantage of large capacity memory, such as Persistent Memory with DAX,
through memory mapping in an efficient and scalable way.

Among other things, it includes:

  • Extent-based memory allocator which sidesteps the fragmentation
    problem that affects most in-memory databases and allows the cache
    to achieve very high space utilization for most workloads.
  • Buffered LRU, which combines a traditional LRU doubly-linked
    list with a non-blocking ring buffer to deliver a high degree
    of scalability on modern multi-core CPUs.
  • Unique indexing structure, critnib, which delivers
    high-performance while being very space efficient.

The reason this release has version 0.8 is because we are still looking
for actual real-world feedback before we stabilize the APIs and commit
to maintaining backward compatibility. It does not mean that the library
is unfinished or unstable. On the contrary, the cache is fully
functional and we are confident in its quality.