October 4th, 2025.
We are unfashioned creatures, but half made up, if one nerdier, fussier, and stricter than ourselves—such a benchmark ought to be—do not lend its aid to perfectionate our weak and faulty natures.
October 5th, 2025.
I agree with you; we are unfashioned creatures, if one younger, JetBrains-born, and island-named than ourselves—such a modern programming language ought to be—do play at baubles befitting its age, appropriate foreign artefacts, and desecrate the limbs of its forefathers.
Optional:
BUILD_TESTS=ON
)BUILD_BENCHMARKS=ON
)scripts/bench_plot.py
COVERAGE=ON
)For the Java/Kotlin bindings:
The scripts/
directory contains utility helpers for common project workflows:
bench.slurm
: Submits a SLURM job that configures a fresh build tree on the
cluster, enables the benchmark targets, and produces the benchmark plot with the
Python virtual environment it bootstraps on the node.bench_plot.py
: Parses Google Benchmark log files, groups results by
algorithm and problem size, and renders a GFLOPs
vs. n
plot to an image using
matplotlib.brench.sh
: Convenience wrapper for running the same benchmark build and
plot generation locally without SLURM by configuring the project in release mode
and invoking the bench_plot
target.cov.sh
: Cleans previous coverage artifacts, reformats the C++ sources, and
rebuilds the project with Clang in coverage mode before invoking the cov/
target to export reports.java_test.sh
: Builds the native matrix libraries required by the Java
bindings and then runs the Gradle test suite with the correct native library
path injected, validating the Java interface end-to-end.For detailed documentation, see the Documentation and for the latest coverage report, see Coverage and Java-Report.
Please report any security issues using GitHub’s private vulnerability reporting or by emailing yaroslav.riabtsev@rwth-aachen.de. See the security policy for full details.
This project is open-source and available under the MIT License.