-
Notifications
You must be signed in to change notification settings - Fork 1.2k
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
Report and compare benchmark runs against two branches #5561
Comments
I could take this one up in the next few days if a new contributor does not end up picking this up as their first issue. |
Unfortunately it was just
and "multiline cursor" feature of IDE 🥲 |
Hi, I would like to take a crack at it. I will try to do it in python. |
That would be great @Taza53 -- thank you. I spent some time gathering data (into benchmarks.zip ) so hopefully you don't have to actually make the datasets or run the benchmarks to make this script. |
BTW the first thing I hope/plan to do with this script is gather enough data to do #4085 |
@isidentical had a script they shared here: https://gist.github.com/isidentical/4e3fff1350e9d49672e15d54d9e8299f |
Thank you for gathering data, it's very helpful.
I will take a look at it
I am a bit unsure, can you elaborate on this. |
Yes -- sorry -- all I was trying to say is that I am excited to use the script and will try it likely as soon as you have it available for a "real" usecase (basically to test #4085) |
I think this should support all benches in This means the other benches would be modified to have the |
I think that sounds like a great idea -- thank you |
python compare.py path1 path2 |
That output looks awesome! 🚀 |
Thanks @Taza53 -- I am testing it out now. |
I tried it out and it worked great (see #5099 (comment)). I will prepare a PR with the script and some instructions. |
I've added |
Is your feature request related to a problem or challenge? Please describe what you are trying to do.
When we make PRs like @jaylmiller 's #5292 or #3463 we often want to know "does this make existing benchmarks faster / slower". To answer this question we would like to:
main
This workflow is supported well for the criterion based microbenchmarks in https://github.com/apache/arrow-datafusion/tree/main/datafusion/core/benches (by using criterion directly or using the https://github.com/BurntSushi/critcmp)
However, for the "end to end" benchmarks in https://github.com/apache/arrow-datafusion/tree/main/benchmarks there is no easy way I know of to do two runs and compare results.
Describe the solution you'd like
There is a "machine readable" output format generated with the
-o
parameter (as shown below)So the workflow would be
Step 1: to create two or more output files using
-o
:This produces files like in benchmarks.zip. Here is an example
Step 2: Compare the two files and prepare a report
Which would produce an output report of some type. Here is an example of an output output (from @korowa on #5490 (comment)). Maybe they have a script they could share
Describe alternatives you've considered
Another possibility might be to move the specialized benchmark binaries into
criterion
(so they look like "microbench"es but I think this is non ideal because of the number of parameters supported by the benchmarksAdditional context
The text was updated successfully, but these errors were encountered: