L4 (Lock-Free on Read) Hashtable is a C++ library that provides a fixed-size hashtable, where keys and values are arbitrary bytes.
L4 HashTable is optimized for lookup operations. It uses Epoch Queue (deterministic garbage collector) to achieve lock-free lookup operations.
L4 HashTable supports caching based on memory size and time. It uses Clock algorithm for an efficient cache eviction.
L4 HashTable is built with interprocess communication in mind and its shared memory implementation (multiple-readers-single-writer model at process level) is coming soon.
This library is developed and maintained with Visual Studio 2019. Visual Studio 2019 Community is available for free here.
To get started, open the L4.sln file and build the solution. Initially, it will automatically start downloading boost NuGet package before build starts.
This library is tested with GCC 6.2. You can run the following commands to get started:
cmake -DBOOST_ROOT=<boost root directory> CMakeLists.txt make make test
Start with a simple example.
Check out the wiki.
Code licensed under the MIT License.