Shallow resolve ty and const vars to their root vars, attempt 2 - #158447
Conversation
|
These commits modify the If this was unintentional then you should revert the changes before this PR is merged. |
|
@bors try @rust-timer queue |
This comment has been minimized.
This comment has been minimized.
This comment has been minimized.
This comment has been minimized.
…try> Shallow resolve ty and const vars to their root vars, attempt 2
This comment has been minimized.
This comment has been minimized.
|
Finished benchmarking commit (8ac0915): comparison URL. Overall result: ✅ improvements - no action neededBenchmarking means the PR may be perf-sensitive. It's automatically marked not fit for rolling up. Overriding is possible but disadvised: it risks changing compiler perf. @bors rollup=never Instruction countOur most reliable metric. Used to determine the overall result above. However, even this metric can be noisy.
Max RSS (memory usage)Results (primary -0.8%, secondary 0.7%)A less reliable metric. May be of interest, but not used to determine the overall result above.
CyclesResults (primary -2.3%, secondary -2.7%)A less reliable metric. May be of interest, but not used to determine the overall result above.
Binary sizeThis perf run didn't have relevant results for this metric. Bootstrap: 482.935s -> 488.862s (1.23%) |
|
@craterbot check |
|
👌 Experiment ℹ️ Crater is a tool to run experiments across parts of the Rust ecosystem. Learn more |
|
🚧 Experiment ℹ️ Crater is a tool to run experiments across parts of the Rust ecosystem. Learn more |
|
🎉 Experiment
Footnotes
|
73928e3 to
f658490
Compare
This comment has been minimized.
This comment has been minimized.
|
@bors try @rust-timer queue |
This comment has been minimized.
This comment has been minimized.
This comment has been minimized.
This comment has been minimized.
7ab3eeb to
db8cf83
Compare
|
This PR was rebased onto a different main commit. Here's a range-diff highlighting what actually changed. Rebasing is a normal part of keeping PRs up to date, so no action is needed—this note is just to help reviewers. |
|
@bors r+ rollup=never |
|
@bors r- |
|
This pull request was unapproved. |
This comment has been minimized.
This comment has been minimized.
|
Apparently a test now has nicer output and better notes! awesome :) |
|
@bors r=lcnr |
This comment has been minimized.
This comment has been minimized.
What is this?This is an experimental post-merge analysis report that shows differences in test outcomes between the merged PR and its parent PR.Comparing 8a2fbe3 (parent) -> 7088e4b (this PR) Test differencesShow 6 test diffsStage 1
Stage 2
Job group index
Test dashboardRun cargo run --manifest-path src/ci/citool/Cargo.toml -- \
test-dashboard 7088e4b63a9516ebfbfe2ab2d999cf01a528ac14 --output-dir test-dashboardAnd then open Job duration changes
How to interpret the job duration changes?Job durations can vary a lot, based on the actual runner instance |
|
Finished benchmarking commit (7088e4b): comparison URL. Overall result: ✅ improvements - no action needed@rustbot label: -perf-regression Instruction countOur most reliable metric. Used to determine the overall result above. However, even this metric can be noisy.
Max RSS (memory usage)Results (primary -2.4%, secondary -0.4%)A less reliable metric. May be of interest, but not used to determine the overall result above.
CyclesResults (primary -2.0%, secondary -2.2%)A less reliable metric. May be of interest, but not used to determine the overall result above.
Binary sizeThis perf run didn't have relevant results for this metric. Bootstrap: 454.914s -> 455.179s (0.06%) |
Use `TyOrConstInferVar` in the next solver, fix #158441 This PR still has a couple percent improvement over main at time of writing (2026-08-10), as shown by the screenshot below. Rebased on #158447, should merge after since its technically required for correctness. Fixes #158441 <img width="1114" height="375" alt="image" src="https://github.com/user-attachments/assets/188a73d0-5987-48f3-923e-9883396bb1a3" /> > [!NOTE] > I've not used an LLM for any part of this PR, or any other PR I make. This includes any related work like research.
Use `TyOrConstInferVar` in the next solver, fix #158441 This PR still has a couple percent improvement over main at time of writing (2026-08-10), as shown by the screenshot below. Rebased on #158447, should merge after since its technically required for correctness. Fixes #158441 <img width="1114" height="375" alt="image" src="https://github.com/user-attachments/assets/188a73d0-5987-48f3-923e-9883396bb1a3" /> > [!NOTE] > I've not used an LLM for any part of this PR, or any other PR I make. This includes any related work like research.
View all comments
r? @lcnr
cc: @ShoyuVanilla
This is attempt 2. There is breakage, but how much? It may be worth it. @lcnr and I discovered today that this PR may have major perf impact on the new trait solver (in attempt 1 this wasn't tested in perf runs). In addition, fixing #158441 makes some tests 12x slower on the old solver, and this PR could mitigate that slowdown. The new solver already fixed this bug, hence we expect the new solver to become much faster with this PR.
Hence, we plan to do a crater and perf run to see just how bad it is.