-
Notifications
You must be signed in to change notification settings - Fork 9
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Develop manual performance regression checking #256
Comments
Possible solution: Use git-worktree to handle running the profiling code on multiple commits for comparison. |
Is this because we don't want the profiling code and data to change when moving between commits? We could move the profiler functionality into its own repo to isolate it? Then we would 'just' need to give a path to the |
Git worktree actually works quite nicely for this, so I am happy with that. The only issue I am having at the moment is that, while the signature for |
Ack - that is ugly. I think I'm happy to accept that the new profiling only works from "now" but I don't know how we define now in the implementation. More broadly, do we need a mechanism to check that the profiling code continues to run as the code base changes? I mean, we have one, in that they are run by I guess what we could do is set those tests up in |
I might be overcomplicating this, but wondering whether ReFrame, which is quite popular for HPC applications and system tests, would be another option. But maybe that's something to consider as potential next step. And maybe it's too powerful for this. |
I created #345 to fix the signature issue, and implement a GH Action to prevent something like that from happening again for the profiling code. |
On the connected branch I created some proof-of concept code for a simplified regression testing (after trying to use the existing benchmarking code, which fell over in a couple of places for me, and might be more sophisticated than we actually need it at this point). |
After #242 , it was decided to disable the automatic profiling in the GH Actions. Manual profiling can still be done running
poetry run /usr/bin/time -v pytest -m "profiling" --profile-svg
.What we want now is the ability to compare the results of two profiling runs of different commits in order to check whether performance has deteriorated (or improved) through code changes.
The text was updated successfully, but these errors were encountered: