ImperialCollegeLondon / pyrealm

Development of the pyrealm package, providing an integrated toolbox for modelling plant productivity, growth and demography using Python.
https://pyrealm.readthedocs.io/
MIT License
23 stars 9 forks source link

Add profiling to CI - Performance regression testing #142

Closed MarionBWeinzierl closed 10 months ago

MarionBWeinzierl commented 11 months ago

In #81 it was considered to add profiling to CI. However, it should not be run for every push to develop, but after larger changes, or for new releases. This could be for a push to main, for example.

We need to think about how we make sure that we catch performance deterioration, as it is not a build-in feature on Github. We could look at the output manually, or we could keep track of performance in a separate file, or we could hard-code a runtime limit (and adapt it manually). Are there any better ways to do this?

MarionBWeinzierl commented 11 months ago

Another option would be to run against the develop/main branch performance, i.e., running it on two branches

MarionBWeinzierl commented 11 months ago

It could also be run periodically, and publish it to a static website.

See https://github.com/marketplace/actions/continuous-benchmark