Skip to content

mdspan/vectormq

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

5 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

VectorMQ

Header-only C++20 library providing SIMD-optimized, lock-free circular queues with hugepage support.

Building

mkdir build && cd build
cmake .. -DCMAKE_BUILD_TYPE=Release
make -j$(nproc)
./tests/vectormq_tests
./benchmarks/bench_throughput

Usage

#include <vectormq/vectormq.hpp>

vectormq::spsc_queue<int> spsc(1024);
spsc.try_push(42);
auto val = spsc.try_pop();

vectormq::mpmc_queue<std::string> mpmc(256);
mpmc.try_push("hello");
auto msg = mpmc.try_pop();

auto hp_queue = vectormq::make_hugepage_spsc_queue<int>(1024);

Testing with Thread Sanitizer

cmake .. -DCMAKE_CXX_FLAGS="-fsanitize=thread -g"
make && ./tests/vectormq_tests

About

Optimized memory queues.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors