Benchmarking adaptive with Airspeed Velocity.
Airspeed Velocity manages building and Python conda environments by itself, unless told otherwise. To run the benchmarks, you do not need to install a development version of adaptive to your current Python environment.
Run ASV commands (record results and generate HTML):
cd benchmarks
asv run --skip-existing-commits --steps 10 ALL
asv publish
asv previewMore on how to use asv can be found in ASV documentation_
Command-line help is available as usual via asv --help and
asv run --help.
See ASV documentation for basics on how to write benchmarks.
Some things to consider:
-
The benchmark suite should be importable with any adaptive version.
-
The benchmark parameters etc. should not depend on which adaptive version is installed.
-
Try to keep the runtime of the benchmark reasonable.
-
Prefer ASV's
time_methods for benchmarking times rather than cooking up time measurements viatime.clock, even if it requires some juggling when writing the benchmark. -
Preparing arrays etc. should generally be put in the
setupmethod rather than thetime_methods, to avoid counting preparation time together with the time of the benchmarked operation.