-
Notifications
You must be signed in to change notification settings - Fork 12.7k
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
Obligation forest tweaks #97674
Obligation forest tweaks #97674
Conversation
I'm not expecting much performance change, maybe a small improvement to @bors try @rust-timer queue |
Awaiting bors try build completion. @rustbot label: +S-waiting-on-perf |
⌛ Trying commit f673eade735b3e85b1703b11f12c00d715a29c44 with merge 1e46fe42354430de9aca5fb2769e2766f4853903... |
f673ead
to
bb5005f
Compare
@bors try @rust-timer queue |
Awaiting bors try build completion. @rustbot label: +S-waiting-on-perf |
⌛ Trying commit bb5005ff758306b0ed470915ff5cb0508d161967 with merge fbe2676ec277a531d1e97d27b8ab76f06129f797... |
☀️ Try build successful - checks-actions |
Queued fbe2676ec277a531d1e97d27b8ab76f06129f797 with parent f5507aa, future comparison URL. |
Finished benchmarking commit (fbe2676ec277a531d1e97d27b8ab76f06129f797): comparison url. Instruction count
Max RSS (memory usage)Results
CyclesResults
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 may lead to changes in compiler perf. Next Steps: If you can justify the regressions found in this try perf run, please indicate this with @bors rollup=never Footnotes |
It is simpler if `ObligationForest` does this itself, rather than the caller having to manage it.
Because it really has two halves: - A read-only part that checks if further work is needed. - The further work part, which is much less hot. This makes things a bit clearer and nicer.
bb5005f
to
32741d5
Compare
Ugh, this was a tiny perf win for me locally. PGO's effects again, I suspect. I will try a few more CI perf runs, try to work out the problem. |
@bors try @rust-timer queue |
Awaiting bors try build completion. @rustbot label: +S-waiting-on-perf |
⌛ Trying commit 32741d5 with merge 991b508f88d9c528d5dd375f43c1cececea50473... |
☀️ Try build successful - checks-actions |
Queued 991b508f88d9c528d5dd375f43c1cececea50473 with parent 760237f, future comparison URL. |
Finished benchmarking commit (991b508f88d9c528d5dd375f43c1cececea50473): comparison url. Instruction count
Max RSS (memory usage)Results
CyclesResults
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 may lead to changes in compiler perf. @bors rollup=never Footnotes |
Hooray, those new perf results are much better. @nikomatsakis, review away please! :) |
@bors r+ |
📌 Commit 32741d5 has been approved by |
☀️ Test successful - checks-actions |
Finished benchmarking commit (1d60108): comparison url. Instruction count
Max RSS (memory usage)Results
CyclesThis benchmark run did not return any relevant results for this metric. 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 Footnotes |
Sigh, performance regression here. Let's look at the This PR was looking like a win when measured 15 days ago (2022-06-06):
Since then, three intervening PRs landed that improved After #97447 (2022-06-08):
After #97778 (2022-06-11):
After #96591 (2022-06-14):
So that was nice. And now, after this PR merged yesterday (2022-06-20):
(All of the above is also true for I'm inclined to accept this and move on, because:
I may try one more time to recover the loss, but this code has already been optimized to the nth degree, so I probably won't spend long on it. @rustbot label: +perf-regression-triaged |
A few minor improvements to the code.
r? @nikomatsakis