Benchmarks¶
VMEC++ tracks performance of key operations using pytest-benchmark.
Benchmarks run automatically on every push to main and on pull requests.
Benchmark suite¶
Benchmark |
Description |
|---|---|
|
CLI startup time ( |
|
CLI error path ( |
|
Fixed-boundary W7-X equilibrium (5-period stellarator, mpol=12, ntor=12, ns=99) |
|
Fixed-boundary CMA equilibrium (stellarator, ntor=6, mpol=5) |
|
Magnetic field response table creation from coils file |
|
Free-boundary solve with pre-computed response table |
All solver benchmarks use max_threads=1 and verbose=False for reproducibility.
Interactive dashboard¶
The interactive benchmark dashboard with historical trends is available at benchmarks/index.html.
The dashboard is populated after the first benchmark run on main completes.
Running locally¶
pip install -e .[benchmark]
pytest benchmarks/test_benchmarks.py -v
To produce a JSON report:
pytest benchmarks/test_benchmarks.py --benchmark-json=benchmark_results.json