Skip to content

Deaod/RingBufferBenchmark

Folders and files

NameName
Last commit message
Last commit date

Latest commit

a2250c0 · Nov 11, 2023

History

59 Commits
Nov 11, 2023
Nov 11, 2023
Nov 11, 2023
Oct 9, 2019
Nov 11, 2023
Nov 11, 2023
Oct 2, 2020
Oct 2, 2020
Oct 2, 2020
Oct 2, 2020
Oct 2, 2020
Oct 2, 2020
Oct 2, 2020
Nov 11, 2023
Oct 9, 2019
Oct 2, 2020
Oct 2, 2020
Oct 2, 2020
Oct 2, 2020
Oct 2, 2020
Oct 2, 2020
Nov 11, 2023
Oct 2, 2020
Oct 2, 2020
Oct 2, 2020
Oct 2, 2020
Oct 2, 2020
Nov 11, 2023
Oct 2, 2020
Oct 2, 2020
Oct 2, 2020
Oct 2, 2020
Oct 2, 2020
Oct 2, 2020
Oct 2, 2020
Oct 2, 2020
Oct 2, 2020
Nov 11, 2023
Oct 2, 2020
Oct 2, 2020
Oct 2, 2020
Oct 2, 2020
Oct 2, 2020
Oct 2, 2020
Oct 2, 2020
Nov 11, 2023
Oct 9, 2019
Oct 31, 2019
Nov 11, 2023
Oct 31, 2019
Oct 9, 2019
Apr 2, 2019
Jun 21, 2020
Apr 11, 2019
Oct 9, 2019
Jun 21, 2020
May 12, 2019
May 12, 2019
Jun 16, 2019
Nov 1, 2019
Nov 11, 2023

Repository files navigation

Ring Buffer Benchmark

A set of benchmarks for a few different ring buffer implementations.

Set-Up

This project uses C++17 features, which is only supported with CMake 3.8 or later. It also uses the following dependencies:

Both can be grabbed using vcpkg.

Visual Studio 2019

Execute the following inside the cloned repository:

cd benchmark
git submodule init
git submodule update
cd ..
mkdir build
cd build
cmake -G "Visual Studio 16" -A "x64" -DCMAKE_TOOLCHAIN_FILE=[vcpkg root]\scripts\buildsystems\vcpkg.cmake ..
RingBufferBenchmark.sln
cd ..

Linux with Clang

git clone https://github.com/Deaod/RingBufferBenchmark
cd RingBufferBenchmark
git submodule update --init
mkdir build
cd build

# Build
cmake -DCMAKE_CXX_COMPILER=clang++ -DCMAKE_BUILD_TYPE=Release ..
make -j$(nproc)

# Run
./RingBufferBenchmark

Note: Clang will output about 600 warnings that some values are uninitialized

Linux with GCC

The codebase currently does not compile with GCC 8 and GCC 9

About

Benchmarks for a suite of SPSC Ring Buffers

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published