Skip to content

matthewyeo1/whirl-pool

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

56 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

whirl-pool

A lock-free object pool and queue library in modern C++17. Built for low-latency systems.

A header-only library for high-performance, low-latency systems. Built for learning lock-free programming and systems design.

Features

  • SPSC Queue – Single-producer single-consumer lock-free queue
  • Object Pool – Lock-free object reuse (coming soon)
  • Fast – 5-10x faster than new/delete
  • Header-only – Just #include
  • Tested – Thread sanitizer, 10M+ operations

Build & Test

Prerequisites

  • CMake 3.14+
  • C++17 Compiler (MSVC/GCC/Clang)
  • Google Benchmark via vcpkg:
git clone https://github.com/microsoft/vcpkg.git
cd vcpkg
.\bootstrap-vcpkg.bat
.\vcpkg install benchmark:x64-windows
.\vcpkg integrate install

Windows (Powershell)

cd build
cmake .. -DBUILD_TESTS=ON
cmake --build . --config Release
.\Release\tests.exe

Linux/macOS

cd build
cmake .. -DBUILD_TESTS=ON
make
./tests

Run Benchmarks

Example: running benchmark for lock-free pool

cd build
cmake .. -DBUILD_BENCHMARKS=ON -DCMAKE_TOOLCHAIN_FILE=C:/path/to/vcpkg/scripts/buildsystems/vcpkg.cmake
cmake --build . --config Release
.\Release\bench_pool.exe

License

MIT

About

A lock-free data structure library in C++17, built for low-latency systems.

Resources

Stars

Watchers

Forks

Packages

 
 
 

Contributors