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 preview
More 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
setup
method rather than thetime_
methods, to avoid counting preparation time together with the time of the benchmarked operation.