This is what AirspeedVelocity.jl looks like on a typical PR: Create `AutoFloat` type for units by MilesCranmer · Pull Request #66 · SymbolicML/DynamicQuantities.jl · GitHub
It’s extremely useful for catching regressions:
It’s saved me multiple times from introducing performance regression due to some type instability I didn’t notice. Also very useful for monitoring time-to-load. Basically just copy this file into a workflow: https://github.com/SymbolicML/DynamicQuantities.jl/blob/main/.github/workflows/benchmark_pr.yml. and make sure you have a file benchmark/benchmarks.jl which uses BenchmarkTools to define const SUITE = BenchmarkGroup()
So far it’s used in my repos, and also SymbolicUtils.jl. (Maybe others too that I’m not aware of.)
Compared with BenchmarkCI.jl/PkgBenchmark.jl it’s not as extensive, so probably good to check out both. AirspeedVelocity.jl is basically a re-built version (also uses BenchmarkTools) with a significant emphasis on the command line (because it makes it easier to interface with git, especially if you just want to quickly check for regressions against master or something).
