Resolver: Batched Import Resolution#145108
Resolver: Batched Import Resolution#145108LorrensP-2158466 wants to merge 3 commits intorust-lang:mainfrom
Conversation
This comment has been minimized.
This comment has been minimized.
This comment has been minimized.
This comment has been minimized.
This comment has been minimized.
This comment has been minimized.
This comment has been minimized.
This comment has been minimized.
|
Code looks a little better now and should be more correct than the previous commits, but I have yet to find a way to resolve the current test failures. |
This comment has been minimized.
This comment has been minimized.
|
Okey, I did fix |
a3f8ae2 to
4a2a0dc
Compare
This comment has been minimized.
This comment has been minimized.
|
Could you update the tests to make CI green, so I can see the difference? |
|
Moving |
|
I'll create a pr for it. |
This comment has been minimized.
This comment has been minimized.
This comment has been minimized.
This comment has been minimized.
|
Finished benchmarking commit (fa4dd1f): comparison URL. Overall result: ❌✅ regressions and improvements - no action neededBenchmarking this pull request means it may be perf-sensitive – we'll automatically label it not fit for rolling up. You can override this, but we strongly advise not to, due to possible changes in 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.0%, secondary 3.2%)A less reliable metric. May be of interest, but not used to determine the overall result above.
CyclesResults (primary -3.1%)A less reliable metric. May be of interest, but not used to determine the overall result above.
Binary sizeThis benchmark run did not return any relevant results for this metric. Bootstrap: 481.762s -> 496.521s (3.06%) |
|
Nice. |
|
👌 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 |
This comment has been minimized.
This comment has been minimized.
|
🎉 Experiment
Footnotes
|
|
Looks like rust-embed is still a problem. |
This comment has been minimized.
This comment has been minimized.
|
Fixed conflicts, squashed and re-applied rust-embed fix. @rustbot ready |
This comment has been minimized.
This comment has been minimized.
Import resolution now happens in 2 phases: 1. We resolve all undetermined and collect their resolutions 2. Write all resolutions to the Resolver state. Repeat this untill we reach a fix point. + Bless tests
|
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. |
|
Rebased to fix the conflicts. The rustembed hack is a bit more generic, than just checking for @rustbot ready |
Here we need to address a specific set of regressions caused by one specific crate, not bend the language rules in general, the smaller the scope of the hack is the better. |
|
Yes, that's right, I forgot to make myself clear why I made it generic. I couldn't exactly find a way to these 2 points:
I couldn't exactly find a way to check exactly with the name |
|
Didn't know I could just add a new symbol, thanks! @rustbot ready |
|
@bors try |
This comment has been minimized.
This comment has been minimized.
|
TODO: |
|
👌 Experiment ℹ️ Crater is a tool to run experiments across parts of the Rust ecosystem. Learn more |
View all comments
Transforms the current algorithm for resolving imports to a batched algorithm. Every import in the
indeterminate_importsset is resolved in isolation. This is the only real difference from the current algorithm.r? petrochenkov