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

Commit

Permalink
common: 0.8 release
Browse files Browse the repository at this point in the history
  • Loading branch information
pbalcer committed Mar 29, 2019
1 parent 1213be7 commit f537dc4
Show file tree
Hide file tree
Showing 4 changed files with 43 additions and 7 deletions.
2 changes: 1 addition & 1 deletion CMakeLists.txt
Original file line number Diff line number Diff line change
Expand Up @@ -33,7 +33,7 @@ cmake_minimum_required(VERSION 3.3)
project(vmemcache C)

set(VERSION_MAJOR 0)
set(VERSION_MINOR 1)
set(VERSION_MINOR 8)
set(VERSION ${VERSION_MAJOR}.${VERSION_MINOR})

set(CMAKE_DISABLE_IN_SOURCE_BUILD ON)
Expand Down
23 changes: 23 additions & 0 deletions ChangeLog
Original file line number Diff line number Diff line change
@@ -0,0 +1,23 @@
Fri Mar 29 2019 Piotr Balcer <[email protected]>

* 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 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.
23 changes: 18 additions & 5 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -4,16 +4,29 @@ libvmemcache: buffer based LRU cache
[![Build Status](https://travis-ci.org/pmem/vmemcache.svg?branch=master)](https://travis-ci.org/pmem/vmemcache)
[![Coverage Status](https://codecov.io/github/pmem/vmemcache/coverage.svg?branch=master)](https://codecov.io/gh/pmem/vmemcache/branch/master)

### WARNING ###

This library is in a '**Work-In-Progress**' state,
**API is not stable** and it **may change at any time**.
**libvmemcache** is an embeddable and lightweight in-memory caching solution.
It's designed to fully take advantage of large capacity memory, such as
Persistent Memory with DAX, through memory mapping in an efficient
and scalable way.

The things that make it unique are:
- 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 high degree
of scalability on modern multi-core CPUs.
- Unique indexing structure, critnib, which delivers
high-performance while being very space efficient.

The cache is tuned to work optimally with relatively large value sizes. The
smallest possible size is 256 bytes, but libvmemcache works best if the expected
value sizes are above 1 kilobyte.

# Building The Source #

Requirements:
- cmake >= 3.3
- git

Optional:
- valgrind (for tests)
Expand Down
2 changes: 1 addition & 1 deletion src/libvmemcache.h
Original file line number Diff line number Diff line change
Expand Up @@ -70,7 +70,7 @@ extern "C" {
* version of the libvmemcache API as provided by this header file.
*/
#define VMEMCACHE_MAJOR_VERSION 0
#define VMEMCACHE_MINOR_VERSION 1
#define VMEMCACHE_MINOR_VERSION 8

#define VMEMCACHE_MIN_POOL ((size_t)(1024 * 1024)) /* minimum pool size: 1MB */
#define VMEMCACHE_MIN_EXTENT ((size_t)256) /* minimum size of extent: 256B */
Expand Down

0 comments on commit f537dc4

Please sign in to comment.