-
Notifications
You must be signed in to change notification settings - Fork 13k
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
Allow inlining of ensure_sufficient_stack()
#93934
Allow inlining of ensure_sufficient_stack()
#93934
Conversation
r? @estebank (rust-highfive has picked a reviewer for you, use r? to override) |
It should already be inlinable due to being generic, but maybe @bors try @rust-timer queue |
Awaiting bors try build completion. @rustbot label: +S-waiting-on-perf |
⌛ Trying commit 59536fb with merge a771d063e5e2bc102c8c9e1ec5674ed02904864c... |
☀️ Try build successful - checks-actions |
Queued a771d063e5e2bc102c8c9e1ec5674ed02904864c with parent 9cdefd7, future comparison URL. |
Finished benchmarking commit (a771d063e5e2bc102c8c9e1ec5674ed02904864c): comparison url. Summary: This benchmark run shows 18 relevant improvements 🎉 to instruction counts.
If you disagree with this performance assessment, please file an issue in rust-lang/rustc-perf. Benchmarking 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 led to changes in compiler perf. @bors rollup=never |
@bors r+ |
📌 Commit 59536fb has been approved by |
☀️ Test successful - checks-actions |
Finished benchmarking commit (c1aa854): comparison url. Summary: This benchmark run shows 3 relevant improvements 🎉 but 3 relevant regressions 😿 to instruction counts.
If you disagree with this performance assessment, please file an issue in rust-lang/rustc-perf. Next Steps: If you can justify the regressions found in this perf run, please indicate this with @rustbot label: +perf-regression |
The trial perf run was before the LLVM 14 merge. It seems that the inlining behavior has changed so this isolated change is a wash now. I have more optimizations for stacker lined up in #94099. |
Agree that the change is now a wash. @rustbot label: +perf-regression-triaged |
This functions is monomorphized a lot and allowing the compiler to inline it improves instructions count and max RSS significantly in my local tests.