Uh oh!
There was an error while loading. Please reload this page.
Obligation forest tweaks - #97674
Conversation
nnethercote
commented
Jun 3, 2022
I'm not expecting much performance change, maybe a small improvement to @bors try @rust-timer queue |
rust-timer
commented
Jun 3, 2022
Awaiting bors try build completion. @rustbot label: +S-waiting-on-perf |
bors
commented
Jun 3, 2022
⌛ Trying commit f673eade735b3e85b1703b11f12c00d715a29c44 with merge 1e46fe42354430de9aca5fb2769e2766f4853903... |
f673ead to
bb5005fComparennethercote
commented
Jun 3, 2022
@bors try @rust-timer queue |
rust-timer
commented
Jun 3, 2022
Awaiting bors try build completion. @rustbot label: +S-waiting-on-perf |
bors
commented
Jun 3, 2022
⌛ Trying commit bb5005ff758306b0ed470915ff5cb0508d161967 with merge fbe2676ec277a531d1e97d27b8ab76f06129f797... |
bors
commented
Jun 3, 2022
☀️ Try build successful - checks-actions |
rust-timer
commented
Jun 3, 2022
Queued fbe2676ec277a531d1e97d27b8ab76f06129f797 with parent f5507aa, future comparison URL. |
rust-timer
commented
Jun 3, 2022
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
32741d5Comparennethercote
commented
Jun 6, 2022
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. |
nnethercote
commented
Jun 6, 2022
@bors try @rust-timer queue |
rust-timer
commented
Jun 6, 2022
Awaiting bors try build completion. @rustbot label: +S-waiting-on-perf |
bors
commented
Jun 6, 2022
⌛ Trying commit 32741d5 with merge 991b508f88d9c528d5dd375f43c1cececea50473... |
bors
commented
Jun 6, 2022
☀️ Try build successful - checks-actions |
rust-timer
commented
Jun 6, 2022
Queued 991b508f88d9c528d5dd375f43c1cececea50473 with parent 760237f, future comparison URL. |
rust-timer
commented
Jun 6, 2022
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 |
nnethercote
commented
Jun 6, 2022
Hooray, those new perf results are much better. @nikomatsakis, review away please! :) |
nikomatsakis
commented
Jun 20, 2022
@bors r+ |
bors
commented
Jun 20, 2022
📌 Commit 32741d5 has been approved by |
bors
commented
Jun 20, 2022
bors
commented
Jun 20, 2022
☀️ Test successful - checks-actions |
rust-timer
commented
Jun 20, 2022
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 |
nnethercote
commented
Jun 20, 2022
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