-
Notifications
You must be signed in to change notification settings - Fork 12.4k
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
Shrink FnAbi
#100999
Shrink FnAbi
#100999
Conversation
@bors try @rust-timer queue |
Awaiting bors try build completion. @rustbot label: +S-waiting-on-perf |
⌛ Trying commit 71c4b14a9585e2595cd28fdff1975ebf558d1686 with merge 0866a29e0084cb0441c0a82a9aa5e1853d404e2a... |
☀️ Try build successful - checks-actions |
Queued 0866a29e0084cb0441c0a82a9aa5e1853d404e2a with parent 4d45b07, future comparison URL. |
Finished benchmarking commit (0866a29e0084cb0441c0a82a9aa5e1853d404e2a): comparison URL. Overall result: ❌ regressions - no action neededBenchmarking this pull request likely means that it is perf-sensitive, so we're automatically marking it as not fit for rolling up. While you can manually mark this PR as fit for rollup, we strongly recommend not doing so since this PR may lead to changes in compiler perf. @bors rollup=never Instruction countThis is a highly reliable metric that was used to determine the overall result at the top of this comment.
Max RSS (memory usage)ResultsThis is a less reliable metric that may be of interest but was not used to determine the overall result at the top of this comment.
CyclesResultsThis is a less reliable metric that may be of interest but was not used to determine the overall result at the top of this comment.
Footnotes |
A few very nice wins for max-rss, all in the |
Because `PassMode::Cast` is by far the largest variant, but is relatively rare. This requires making `PassMode` not impl `Copy`, and `Clone` is no longer necessary. This causes lots of sigil adjusting, but nothing very notable.
Currently they try to be very precise. But they are wrong, i.e. they don't match what's happening in the loop below. This code isn't hot enough for it to matter that much.
Because it's only ever set to `None` or `Some(Reg::i32())`.
Because it's only needed for that variant. This shrinks the types and clarifies the logic.
71c4b14
to
f974617
Compare
r? @bjorn3 |
@bors r+ rollup=never |
☀️ Test successful - checks-actions |
Finished benchmarking commit (332cc8f): comparison URL. Overall result: ❌ regressions - no action needed@rustbot label: -perf-regression Instruction countThis is a highly reliable metric that was used to determine the overall result at the top of this comment.
Max RSS (memory usage)ResultsThis is a less reliable metric that may be of interest but was not used to determine the overall result at the top of this comment.
CyclesResultsThis is a less reliable metric that may be of interest but was not used to determine the overall result at the top of this comment.
Footnotes |
Shrink `FnAbi` Because they can take up a lot of memory in debug and release builds. r? `@bjorn3`
Shrink `FnAbi` Because they can take up a lot of memory in debug and release builds. r? `@bjorn3`
Because they can take up a lot of memory in debug and release builds.
r? @bjorn3