This repository has been archived by the owner on Mar 22, 2023. It is now read-only.
Releases: pmem/vmemcache
Releases · pmem/vmemcache
vmemcache version 0.8.1
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
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.