-
Notifications
You must be signed in to change notification settings - Fork 13.3k
#[inline(always)] on basic pointer methods #85201
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
r? @scottmcm (rust-highfive has picked a reviewer for you, use r? to override) |
@bors try @rust-timer queue |
Awaiting bors try build completion. @rustbot label: +S-waiting-on-perf |
⌛ Trying commit 0f4886f89cb654ee67176b897139b88d66ee6c8f with merge 71f3cadcc5df5a85f5db16ec986d73ed5bb6b7c6... |
☀️ Try build successful - checks-actions |
Queued 71f3cadcc5df5a85f5db16ec986d73ed5bb6b7c6 with parent 5c02926, future comparison URL. |
These two PRs feel like it might be getting too pervasive. I understand it for things like I see that @tmiasko and @wesleywiser have been doing perf runs lately about running the MIR inliner in more situations -- perhaps you have thoughts on whether |
Note Mara's comment in #84560 (comment) and the fact that |
Finished benchmarking try commit (71f3cadcc5df5a85f5db16ec986d73ed5bb6b7c6): comparison url. Benchmarking this pull request likely means that it is perf-sensitive, so we're automatically marking it as not fit for rolling up. Please note that if the perf results are neutral, you should likely undo the rollup=never given below by specifying Importantly, though, if the results of this run are non-neutral do not roll this PR up -- it will mask other regressions or improvements in the roll up. @bors rollup=never |
@scottmcm ok, I've narrowed this one down to just pointer methods. |
Oops, I've accidentally closed this one. Reopened as #85218 |
#[inline(always)] on basic pointer methods Retryng rust-lang#85201 with only inlining pointer methods. The goal is to make pointers behave just like pointers in O0, mainly to reduce overhead in debug builds. cc `@scottmcm`
This sets
#[inline(always)]
on trivial 1-liner functions in core. The goal is to improve performance of code in debug mode at opt-level 0 and 1, when inlining doesn't happen otherwise.