⏰ Benchmarks¶
PyLops tracks the performance of all its operators with
airspeed velocity (asv). For every operator, the
suite measures the wall time and the peak memory of the forward (matvec) and
adjoint (rmatvec) passes.
The benchmark suite lives in a dedicated repository,
PyLops/pylops-asv. A GitHub Action in that
repository benchmarks the heads of the master and dev branches every night
(as well as the latest release), and the resulting website is published at
https://pylops.github.io/pylops-asv/. Older releases can be benchmarked retroactively
by triggering the same workflow manually.
When adding a new operator to PyLops, a companion pull request adding its benchmark
to pylops-asv is expected (see the 🖌️ Implementing new operators checklist). The
README of pylops-asv explains how to write a benchmark, validate the suite
and run it locally against a local checkout of PyLops.