Repository navigation
Conversation
The rust-analyzer impls of these methods will need to be removed on the next sync.
It's faster than `extend` to initialize these structures.
A lot of work can be skipped if the two values being related are equal. (There are various early-return equality checks like this further down the call chain, this just adds one earlier.)
The former has an early return check and a single call site, so the check can be moved before the call site. Also, in the `Err(NoSolution)` case we can skip the `CandidateHeadUsages::default()` stuff because that's just an empty list and `merge_usages` is a no-op.
Instead of getting it within `fast_reject_assumption`. `fast_reject_assumption` has three call sites. For two of them this change doesn't help perf, but the third call occurs in a loop, and this lets us get the goal lang item once per loop instead of once per loop element.
- Increase the number of preinterned type vars and anon bound types. - Preintern some root-universe placeholder types with anon bounds. - Adjust some comments. - Also rename a lot of the preinterning names for more consistency.
|
@bors try @rust-timer queue |
This comment has been minimized.
This comment has been minimized.
[DO NOT MERGE] next-solver perf test
This comment has been minimized.
This comment has been minimized.
|
The job Click to see the possible cause of the failure (guessed by this bot) |
This comment has been minimized.
This comment has been minimized.
|
Finished benchmarking commit (f1494a8): comparison URL. Overall result: ❌✅ regressions and improvements - please read:Benchmarking 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. Next, please: If you can, justify the regressions found in this try perf run in writing along with @bors rollup=never rustc-perf 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 6.0%, secondary 2.4%)A less reliable metric. May be of interest, but not used to determine the overall result above.
CyclesResults (primary 10.3%, secondary 4.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: 490.336s -> 488.342s (-0.41%) |
|
☔ The latest upstream changes (presumably #164216) made this pull request unmergeable. Please resolve the merge conflicts by rebasing. |
r? ghost