-
Notifications
You must be signed in to change notification settings - Fork 13.1k
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
Enable default inlining in platform intrinsics #52426
Conversation
(rust_highfive has picked a reviewer for you, use r? to override) |
Heh, good catch. Shall we do a performance run? |
@bors try |
⌛ Trying commit e7f63f1 with merge 278242e1492c09c1dfe81b7a892e6a16367445f2... |
I think it might be a good idea to run it by perf, because the differences that called for this change (i.e. disabling inlining) were pretty big. |
Not that perf won't measure the time it took to build rustc and the sysroot, which is where the big slowdown was. It'll only tell us whether the change has any benefit for compiling other code with rustc, i.e., whether potentially inlining these functions improved rustc's running time, which is unrelated. |
Thanks for the correction, I'm still pretty new to this; what would be the best way to test the difference in performance for this sort of change, then? |
I'm not 100% sure but since the crate is pretty stand-alone, it seems like you could just try building it (only the crate, not the whole compiler) with |
Cool; I'll do that soon and provide some numbers. |
@rkruppe so this produced a slowdown that was specific to compiling rustc? |
More specifically to compiling libplatform_intrinsics, yes. Unless I've been reading #28273 wrong the entire time since it was filed, including just now when I went back to double-check. |
☀️ Test successful - status-travis |
I compiled a few times locally and there's no regression, at least on Windows 10 x64. |
@bors r+ |
📌 Commit e7f63f1 has been approved by |
☀️ Test successful - status-appveyor, status-travis |
📣 Toolstate changed by #52426! Tested on commit 38168a7. 💔 book on linux: test-pass → test-fail (cc @carols10cents @steveklabnik, @rust-lang/infra). |
Tested on commit rust-lang/rust@38168a7. Direct link to PR: <rust-lang/rust#52426> 💔 book on linux: test-pass → test-fail (cc @carols10cents @steveklabnik, @rust-lang/infra).
Not sure if spurious.
Edit: Yes, spurious. |
The book got "fixed" again in #52364 so this seems spurious. |
What's the book? |
Oh, the book. How did my commit fix it ❓ |
Your one commit (this one here) broke it. Your other commit fixed it. We don't know why.^^ |
That's most curious; please advise when you have found out, I'd like to not do that again 😆. |
If you break it again we'll just ask you to fix it again, like you did this time. :) |
I guess I'll do my future contributions in pairs then ;). |
Since #28273 has been fixed for quite some time, it might be a good idea to return to default inlining in platform intrinsics.