Airspeed (https://asv.readthedocs.io/en/stable/) is used by SciPy, NumPy etc to track the performance of each commit and catch perf regressions. They host their results online (https://pv.github.io/numpy-bench/) and run as part of the CI process but out of the box airspeed lets you serve a local html file.
This PR contains config and a basic set of benchmarks which, when run on the last 20 dev commits, generate the following:
(This is mostly for demo/discussion purposes, I could modify lots of our existing pytest suite to get more useful tracking and also look at remote hosting for the HTML if this is something we think would be useful.)
Types of changes
[ ] Bug fix (non-breaking change which fixes an issue)
[x] New feature (non-breaking change which adds functionality)
[ ] Breaking change (fix or feature that would cause existing functionality to not work as expected)
Checklist:
[x] My code follows the code style of this project.
[ ] My change requires a change to the documentation.
Motivation and Context
Airspeed (https://asv.readthedocs.io/en/stable/) is used by SciPy, NumPy etc to track the performance of each commit and catch perf regressions. They host their results online (https://pv.github.io/numpy-bench/) and run as part of the CI process but out of the box airspeed lets you serve a local html file.
This PR contains config and a basic set of benchmarks which, when run on the last 20 dev commits, generate the following:
(This is mostly for demo/discussion purposes, I could modify lots of our existing pytest suite to get more useful tracking and also look at remote hosting for the HTML if this is something we think would be useful.)
Types of changes
Checklist: