XRCU is a library that provides efficient lock-less synchronization for read-mostly tasks and structures.
Luciano Lo Giudice a98f1f7caa Simplify access to hash table vector | 3 years ago | |
---|---|---|
docs | 4 years ago | |
tests | 4 years ago | |
.gitignore | 5 years ago | |
Changes | 5 years ago | |
LICENSE | 6 years ago | |
Makefile | 4 years ago | |
README.md | 3 years ago | |
VERSION | 5 years ago | |
configure | 5 years ago | |
hash_table.cpp | 4 years ago | |
hash_table.hpp | 3 years ago | |
lwlock.cpp | 4 years ago | |
lwlock.hpp | 4 years ago | |
optional.hpp | 4 years ago | |
queue.cpp | 4 years ago | |
queue.hpp | 3 years ago | |
skip_list.cpp | 3 years ago | |
skip_list.hpp | 3 years ago | |
stack.cpp | 4 years ago | |
stack.hpp | 4 years ago | |
utils.cpp | 4 years ago | |
utils.hpp | 4 years ago | |
version.hpp | 5 years ago | |
xatomic.hpp | 4 years ago | |
xrcu.cpp | 4 years ago | |
xrcu.hpp | 4 years ago |
This library implements efficient lockless synchronization for read-mostly tasks. In addition, it provides several data lockless data structures that make use of said synchronization, with an API that closely resembles the one used in C++'s STL. These data structures include: stacks, queues (multiple producer, multiple consumer), skip lists and hash tables.
As with most GNU packages, xrcu follows a very simple convention:
./configure
make
make install
Even though the data structures are generic and thus implemented almost completely in single headers, there's still the need to link with this library (-lxrcu) to pull the runtime.
See docs/xrcu.html for a full overview of the design and its API.
Luciano Lo Giudice
Agustina Arzille
Licensed under the GPLv3.