Uh oh!
There was an error while loading. Please reload this page.
Make lowering pull-based - #90204
Conversation
This comment has been minimized.
This comment has been minimized.
This comment has been minimized.
This comment has been minimized.
cjgillot
commented
Oct 23, 2021
@bors try @rust-timer queue |
rust-timer
commented
Oct 23, 2021
Awaiting bors try build completion. @rustbot label: +S-waiting-on-perf |
bors
commented
Oct 23, 2021
⌛ Trying commit 30c685c9a863546ffe3be12e65ec08fa38c15acb with merge 40908995bf1a9271ebb46383e84e7fb7238b5971... |
bors
commented
Oct 23, 2021
☀️ Try build successful - checks-actions |
rust-timer
commented
Oct 23, 2021
Queued 40908995bf1a9271ebb46383e84e7fb7238b5971 with parent 55ccbd0, future comparison URL. |
rust-timer
commented
Oct 23, 2021
Finished benchmarking commit (40908995bf1a9271ebb46383e84e7fb7238b5971): comparison url. Summary: This change led to moderate relevant mixed results 🤷 in compiler performance.
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. Next Steps: If you can justify the regressions found in this try perf run, please indicate this with @bors rollup=never |
This comment has been minimized.
This comment has been minimized.
cjgillot
commented
Oct 24, 2021
michaelwoerister
commented
Oct 28, 2021
Thanks, @cjgillot! I hope to get to this next week. |
bors
commented
Oct 28, 2021
☔ The latest upstream changes (presumably #90145) made this pull request unmergeable. Please resolve the merge conflicts. |
This comment has been minimized.
This comment has been minimized.
bors
commented
Nov 4, 2021
☔ The latest upstream changes (presumably #90564) made this pull request unmergeable. Please resolve the merge conflicts. |
michaelwoerister
commented
Nov 17, 2021
Marking this as blocked on #90451 for now. |
bors
commented
Mar 15, 2022
☔ The latest upstream changes (presumably #94584) made this pull request unmergeable. Please resolve the merge conflicts. |
michaelwoerister
commented
Mar 15, 2022
Do you think that some of the performance will be recovered once the whole refactoring is done? |
cjgillot
commented
Mar 26, 2022
I don't know, though I hope so. For now, #88186 is a perf regression (up to 4% on primary benchmarks, up to 11% with stress benchmarks). If we want to skip parts of lowering altogether, we will need in addition:
|
michaelwoerister
commented
Mar 31, 2022
OK, as stated before, I think the performance hit is acceptable as it should not be noticeable in any of the real-world benchmarks. You can r=me after rebasing. Thanks for all the hard work you are putting into this! |
cjgillot
commented
Mar 31, 2022
@bors r=michaelwoerister |
bors
commented
Mar 31, 2022
📌 Commit 6b099db has been approved by |
bors
commented
Mar 31, 2022
bors
commented
Mar 31, 2022
☀️ Test successful - checks-actions |
rust-timer
commented
Mar 31, 2022
Finished benchmarking commit (bd1a869): comparison url. Summary: This benchmark run shows 35 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 |
Based on #90451Part of #88186
The current lowering code visits all the item-likes in the AST in order, and lowers them one by one.
This PR changes it to index the AST and then proceed to lowering on-demand. This is closer to the logic of query-based lowering.