-
Notifications
You must be signed in to change notification settings - Fork 64
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
GitHub PR: benchmark diff #123
Comments
I was looking into implementing this. With Hercules, how would we create artifacts that we can use as means for comparison? It doesn't seem like Hercules publishes the bench.csv anywhere, or am I missing something? |
@nixinator @MatthewCroughan Could one of you help Emily here? The nix flake check writes a file called I vaguely recall seeing Hercules effects supporting artifact upload. Perhaps we can use that. |
We do not need to write the CSV in order to accomplish this. Doing so would not be a good benchmark either, as the benchmark might be effected by different processes running on the CI agent at a future time. Instead, we can simply perform two benchmarks in a single job, using two different revisions of the source code, which generates a new CSV, which is the diff of the two. None of this requires writing files to any location, it is just more stdout. |
Usually, yes - but for this project we don't care about that, because the specific benchmark metrics (code size, cpu/mem "budget") are calculated independent of the running machine's performance. |
Part of work: #144 |
@emiflake @MatthewCroughan How do I get to the benchmark diff for a PR, say #173 ? |
Hah, this is what I've been asking. But AFAICT we just need to drop the |
@srid is this still relevant? |
Produce reports like this for PRs in this repo, so that we can assess the impact of the PRs on benchmarks (code size, cpu & men). Take
bench.csv
produced by Hercules Effects for both commit A (commit where the PR branch branched off) and commit B (PR commit), and diff them.#87 is an example of such PR which improved the
types:builtin:intlist:plistEquals
benchmark.Old
New
Diff'ing these two tables, we would add a comment to the PR showing the number differences for each row/column much like the Plutus report. In the Plutus repo, benchmark reporting is manually triggered by adding a PR comment containing
/benchmark
.The text was updated successfully, but these errors were encountered: