|
SpECTRE
v2026.04.01
|
Below are some general guidelines for achieving decent performance.
One good measurement is worth more than a million expert opinions. Our testing framework Catch2 supports benchmarks, so we encourage you to add benchmarks to your tests. See the Catch2 benchmarks documentation for instructions. Essentially, add a BENCHMARK to your test case and run the test executable (such as ./bin/Test_LinearOperators). Note that we skip benchmarks during automated unit testing with ctest because benchmarks are only meaningful in a controlled environment (such as a specific machine or architecture). You can keep track of the benchmark results you ran on specific machines in a comment in the test case (until we have a better way of keeping track of benchmark results).
Catch2's benchmarking is not as feature-rich as Google Benchmark. We have a Benchmark executable that uses Google Benchmark so one can compare different implementations and see how they perform. This executable is only available in release builds.