Benchmark utilities

May 29, 2026 ยท View on GitHub

Scripts and configs for performance regression checks. Full documentation: docs/benchmarking.md.

Layout

FilePurpose
benchmark.pyCLI entry point
benchmark_paths.pyPath, executable, and scene-list resolution
benchmark_runner.pySubprocess orchestration for headless and sequencer runs
benchmark_results.pyJSON/log parsing, CSV output, and comparisons
quick.cfg / matrix.cfgSequencer scripts (optional, heavier)
tests/Parser and comparison fixture tests
output/Generated logs and CSV (gitignored)

Run from the repository root:

# Recommended: headless wall time for 500 frames at 1 and 5 spp
python utils/benchmark/benchmark.py headless --scene resources/shader_ball.gltf --frames 500

# Optional: scripted GPU profiler matrix
python utils/benchmark/benchmark.py run quick.cfg --scene resources/shader_ball.gltf

Compare two builds:

python utils/benchmark/benchmark.py headless-compare \
  utils/benchmark/output/headless_shader_ball_spp1.log \
  utils/benchmark/output/headless_shader_ball_spp1_candidate.log