Cache line contention experiments.
The project is built using CMake and requires version 3.20 or newer to work correctly.
Cacheline takes a dependency on:
- googletest for unit tests
- benchmark for benchmarks
Both dependencies are included in the source tree as a git
submodule. Run the following to check out the module and
make it available to the build system:
$ cd <path-to-cacheline>
$ git submodule update --init
Cacheline is tested on Linux and macOS.
The following will generate the build system and then build all targets:
$ cd <path-to-cacheline>
$ cmake -B build
$ cmake --build build
Start by building the benchmarks executable:
$ cmake --build build --target cacheline-benchmarks
Now run the benchmarks using CMake's ctest
utility:
$ ctest --test-dir build -R cacheline-benchmarks -V
Alternatively, run the benchmarks executable directly:
$ ./build/cacheline-benchmarks
Start by building the unit tests executable:
$ cmake --build build --target cacheline-tests
Now run the unit tests using CMake's ctest
utility:
$ ctest --test-dir build -R cacheline-tests -V
Alternatively, run the tests executable directly:
$ ./build/cacheline-tests