Open MilesCranmer opened 3 months ago
All modified and coverable lines are covered by tests :white_check_mark:
Project coverage is 84.79%. Comparing base (
78ab1f4
) to head (005eb7f
).
:umbrella: View full report in Codecov by Sentry.
:loudspeaker: Have feedback on the report? Share it here.
Very useful, thanks!
This creates a simple benchmark for catching performance regressions on small, tightly controlled problems. To kick things off I added the multivariate first-order optimizers including
Adam
,AdaMax
,BFGS
,LBFGS
,NGMRES
,ConjugateGradient
,GradientDescent
, andMomentumGradientDescent
.The specific benchmark I added is fitting the Gabor function (2 parameters) to a noisy dataset.
It's compatible with any library supporting BenchmarkTools.jl. You can run the benchmark with:
I also add a GitHub action to run AirspeedVelocity.jl on this benchmark for any new PR. It will automatically print out the performance and load time comparison of master in a GitHub comment on the PR.
The current benchmarks across revision history are as follows:
Meaning there are no immediate performance regressions. However the load time has clearly increased from v1.7 to v1.8 which #1081 will fix.
To create this table above, run the following in bash:
We can also get the memory:
with
--mode=memory
in thebenchpkgtable
command. If you want I can put that table in the GitHub action as well?