-
Notifications
You must be signed in to change notification settings - Fork 156
Add helloworld-tiny
benchmark
#1413
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
Conversation
I'm in favor of this change. I think having a different scenario feels like the most appropriate given that we already have variable scenarios depending on which benchmark is being tested. |
How should it work in terms of selecting which benchmark should run? If we just add a hard-coded We could add something like {
"category": "primary",
"additional-scenarios": [{
"profile": "Opt",
"env": {
"CARGO_PROFILE_RELEASE_STRIP": "abort",
...
}
}]
} And execute these scenarios for the selected profile unconditionally? Or we can just hardcode selected benchmarks that will be executed with the
|
I think this is the right thing to do for now. We can try it out for a while with one or two benchmarks, and see how it goes. That's a lot easier than building extra machinery (new profile/scenario/category) that (a) is only needed for a couple of benchmarks, and (b) might turn out to be a poor choice.
👍
So are the only cases we're interested in We could also add some way to exclude measurements in the
I'm not too worried about that. rustc-perf contributors and triagers will learn quickly, and we're accustomed to normal compiler devs not understanding the perf numbers as well. And we have descriptions of the benchmarks in the documentation. |
This comment was marked as off-topic.
This comment was marked as off-topic.
5e53eb7
to
4d0f57f
Compare
8bbfcca
to
d2f1e31
Compare
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Is it interesting to include Debug
?
Also, you've excluded some profiles but not some scenarios, was that deliberate?
I think that ignoring scenarios is not meeded here, since there is no patch file? But probably IncrFull will still be executed, hmm, didn't think of that. I'm not sure if binary size is that interesting for Debug (maybe for embedded?). |
Removing the patch file eliminates the |
Thanks, I missed that. I will send another PR with scenario exclusion. |
d2f1e31
to
b819126
Compare
Now both uninteresting profiles and scenarios are filtered out. |
b819126
to
b84f4cd
Compare
Now that we finally have size artifact metrics in the DB, I think that we should also add some benchmarks that will specifically be focused on artifact sizes. I think that for starters it would be nice to measure the size of a small binary (either a
helloworld
or a completely empty one) and some reasonably common Rust binary (likeripgrep
, since we already have it).