A rough week, if only in terms of the sheer number of PRs that were flagged as regressions. Going through 31 regressive PR's, 13 of them rollups, is not fun. There were some nice wins from e.g. #95968 and #95981. The main worrisome regression is a 1% compile-time from #96010 that seems like it was not expected.
Triage done by @pnkfelix. Revision range: 4e1927db..4ca19e09
7 Regressions, 12 Improvements, 24 Mixed; 13 of them in rollups 51 artifact comparisons made in total
Rollup of 7 pull requests #95966 (Comparison Link) | | Regressions 😿
(primary) | Regressions 😿
(secondary) | Improvements 🎉
(primary) | Improvements 🎉
(secondary) | All 😿 🎉
(primary) | |:---:|:---:|:---:|:---:|:---:|:---:| | count | 2 | 2 | 0 | 0 | 2 | | mean | 0.2% | 0.3% | N/A | N/A | 0.2% | | max | 0.2% | 0.4% | N/A | N/A | 0.2% |
Rollup of 4 pull requests #95999 (Comparison Link) | | Regressions 😿
(primary) | Regressions 😿
(secondary) | Improvements 🎉
(primary) | Improvements 🎉
(secondary) | All 😿 🎉
(primary) | |:---:|:---:|:---:|:---:|:---:|:---:| | count | 0 | 3 | 0 | 0 | 0 | | mean | N/A | 1.0% | N/A | N/A | N/A | | max | N/A | 1.2% | N/A | N/A | N/A |
Use mir constant in thir instead of ty::Const #94255 (Comparison Link) | | Regressions 😿
(primary) | Regressions 😿
(secondary) | Improvements 🎉
(primary) | Improvements 🎉
(secondary) | All 😿 🎉
(primary) | |:---:|:---:|:---:|:---:|:---:|:---:| | count | 2 | 12 | 0 | 0 | 2 | | mean | 0.2% | 0.4% | N/A | N/A | 0.2% | | max | 0.2% | 0.5% | N/A | N/A | 0.2% |
Update stdarch #95958 (Comparison Link) | | Regressions 😿
(primary) | Regressions 😿
(secondary) | Improvements 🎉
(primary) | Improvements 🎉
(secondary) | All 😿 🎉
(primary) | |:---:|:---:|:---:|:---:|:---:|:---:| | count | 1 | 8 | 0 | 0 | 1 | | mean | 1.1% | 0.7% | N/A | N/A | 1.1% | | max | 1.1% | 1.2% | N/A | N/A | 1.1% |
Rollup of 7 pull requests #96123 (Comparison Link) | | Regressions 😿
(primary) | Regressions 😿
(secondary) | Improvements 🎉
(primary) | Improvements 🎉
(secondary) | All 😿 🎉
(primary) | |:---:|:---:|:---:|:---:|:---:|:---:| | count | 0 | 6 | 0 | 0 | 0 | | mean | N/A | 0.4% | N/A | N/A | N/A | | max | N/A | 0.5% | N/A | N/A | N/A |
match-stress
and all on the order of 0.48%.Rollup of 5 pull requests #96178 (Comparison Link) | | Regressions 😿
(primary) | Regressions 😿
(secondary) | Improvements 🎉
(primary) | Improvements 🎉
(secondary) | All 😿 🎉
(primary) | |:---:|:---:|:---:|:---:|:---:|:---:| | count | 1 | 0 | 0 | 0 | 1 | | mean | 2.5% | N/A | N/A | N/A | 2.5% | | max | 2.5% | N/A | N/A | N/A | 2.5% |
Add slice::remainder #92287 (Comparison Link) | | Regressions 😿
(primary) | Regressions 😿
(secondary) | Improvements 🎉
(primary) | Improvements 🎉
(secondary) | All 😿 🎉
(primary) | |:---:|:---:|:---:|:---:|:---:|:---:| | count | 0 | 2 | 0 | 0 | 0 | | mean | N/A | 1.2% | N/A | N/A | N/A | | max | N/A | 1.2% | N/A | N/A | N/A |
Rollup of 5 pull requests #95974 (Comparison Link) | | Regressions 😿
(primary) | Regressions 😿
(secondary) | Improvements 🎉
(primary) | Improvements 🎉
(secondary) | All 😿 🎉
(primary) | |:---:|:---:|:---:|:---:|:---:|:---:| | count | 0 | 0 | 0 | 7 | 0 | | mean | N/A | N/A | N/A | -0.3% | N/A | | max | N/A | N/A | N/A | -0.6% | N/A |
errors: lazily load fallback fluent bundle #95968 (Comparison Link) | | Regressions 😿
(primary) | Regressions 😿
(secondary) | Improvements 🎉
(primary) | Improvements 🎉
(secondary) | All 😿 🎉
(primary) | |:---:|:---:|:---:|:---:|:---:|:---:| | count | 0 | 0 | 19 | 30 | 19 | | mean | N/A | N/A | -2.7% | -2.9% | -2.7% | | max | N/A | N/A | -10.4% | -5.2% | -10.4% |
Optimize <SourceFile as Decodable>::decode
#95981 (Comparison Link) | | Regressions 😿
(primary) | Regressions 😿
(secondary) | Improvements 🎉
(primary) | Improvements 🎉
(secondary) | All 😿 🎉
(primary) | |:---:|:---:|:---:|:---:|:---:|:---:| | count | 0 | 1 | 16 | 76 | 16 | | mean | N/A | 0.9% | -1.5% | -1.5% | -1.5% | | max | N/A | 0.9% | -5.1% | -4.5% | -5.1% |
Remove <mbe::TokenTree as Clone>
#95928 (Comparison Link) | | Regressions 😿
(primary) | Regressions 😿
(secondary) | Improvements 🎉
(primary) | Improvements 🎉
(secondary) | All 😿 🎉
(primary) | |:---:|:---:|:---:|:---:|:---:|:---:| | count | 0 | 2 | 25 | 14 | 25 | | mean | N/A | 0.3% | -0.5% | -2.6% | -0.5% | | max | N/A | 0.3% | -0.7% | -4.8% | -0.7% |
Allow self-profiler to only record potentially costly arguments when argument recording is turned on #95689 (Comparison Link) | | Regressions 😿
(primary) | Regressions 😿
(secondary) | Improvements 🎉
(primary) | Improvements 🎉
(secondary) | All 😿 🎉
(primary) | |:---:|:---:|:---:|:---:|:---:|:---:| | count | 0 | 0 | 0 | 3 | 0 | | mean | N/A | N/A | N/A | -1.1% | N/A | | max | N/A | N/A | N/A | -1.1% | N/A |
Fix x test --doc --stage 0 library/std
#95993 (Comparison Link) | | Regressions 😿
(primary) | Regressions 😿
(secondary) | Improvements 🎉
(primary) | Improvements 🎉
(secondary) | All 😿 🎉
(primary) | |:---:|:---:|:---:|:---:|:---:|:---:| | count | 0 | 0 | 0 | 5 | 0 | | mean | N/A | N/A | N/A | -1.1% | N/A | | max | N/A | N/A | N/A | -1.2% | N/A |
Rollup of 6 pull requests #96134 (Comparison Link) | | Regressions 😿
(primary) | Regressions 😿
(secondary) | Improvements 🎉
(primary) | Improvements 🎉
(secondary) | All 😿 🎉
(primary) | |:---:|:---:|:---:|:---:|:---:|:---:| | count | 0 | 0 | 0 | 3 | 0 | | mean | N/A | N/A | N/A | -1.1% | N/A | | max | N/A | N/A | N/A | -1.1% | N/A |
Speed up Vec::clear(). #96002 (Comparison Link) | | Regressions 😿
(primary) | Regressions 😿
(secondary) | Improvements 🎉
(primary) | Improvements 🎉
(secondary) | All 😿 🎉
(primary) | |:---:|:---:|:---:|:---:|:---:|:---:| | count | 0 | 0 | 1 | 0 | 1 | | mean | N/A | N/A | -1.5% | N/A | -1.5% | | max | N/A | N/A | -1.5% | N/A | -1.5% |
fix error handling for pthread_sigmask(3) #93530 (Comparison Link) | | Regressions 😿
(primary) | Regressions 😿
(secondary) | Improvements 🎉
(primary) | Improvements 🎉
(secondary) | All 😿 🎉
(primary) | |:---:|:---:|:---:|:---:|:---:|:---:| | count | 0 | 0 | 1 | 0 | 1 | | mean | N/A | N/A | -3.0% | N/A | -3.0% | | max | N/A | N/A | -3.0% | N/A | -3.0% |
Respect ranlib specified for target during LLVM build #96080 (Comparison Link) | | Regressions 😿
(primary) | Regressions 😿
(secondary) | Improvements 🎉
(primary) | Improvements 🎉
(secondary) | All 😿 🎉
(primary) | |:---:|:---:|:---:|:---:|:---:|:---:| | count | 0 | 0 | 1 | 2 | 1 | | mean | N/A | N/A | -2.2% | -1.2% | -2.2% | | max | N/A | N/A | -2.2% | -1.2% | -2.2% |
Require all paths passed to ShouldRun::paths
to exist on disk #95906 (Comparison Link) | | Regressions 😿
(primary) | Regressions 😿
(secondary) | Improvements 🎉
(primary) | Improvements 🎉
(secondary) | All 😿 🎉
(primary) | |:---:|:---:|:---:|:---:|:---:|:---:| | count | 0 | 0 | 1 | 0 | 1 | | mean | N/A | N/A | -1.0% | N/A | -1.0% | | max | N/A | N/A | -1.0% | N/A | -1.0% |
show suggestion to replace generic bounds with associated types in more cases #95379 (Comparison Link) | | Regressions 😿
(primary) | Regressions 😿
(secondary) | Improvements 🎉
(primary) | Improvements 🎉
(secondary) | All 😿 🎉
(primary) | |:---:|:---:|:---:|:---:|:---:|:---:| | count | 0 | 0 | 1 | 0 | 1 | | mean | N/A | N/A | -1.8% | N/A | -1.8% | | max | N/A | N/A | -1.8% | N/A | -1.8% |
Skip Lazy
for some metadata tables #95867 (Comparison Link) | | Regressions 😿
(primary) | Regressions 😿
(secondary) | Improvements 🎉
(primary) | Improvements 🎉
(secondary) | All 😿 🎉
(primary) | |:---:|:---:|:---:|:---:|:---:|:---:| | count | 0 | 5 | 0 | 1 | 0 | | mean | N/A | 0.4% | N/A | -0.7% | N/A | | max | N/A | 0.5% | N/A | -0.7% | N/A |
Rollup of 4 pull requests #95987 (Comparison Link) | | Regressions 😿
(primary) | Regressions 😿
(secondary) | Improvements 🎉
(primary) | Improvements 🎉
(secondary) | All 😿 🎉
(primary) | |:---:|:---:|:---:|:---:|:---:|:---:| | count | 0 | 13 | 0 | 7 | 0 | | mean | N/A | 1.7% | N/A | -0.4% | N/A | | max | N/A | 3.0% | N/A | -0.6% | N/A |
rustdoc: Reduce allocations in a markdown
function #95905 (Comparison Link) | | Regressions 😿
(primary) | Regressions 😿
(secondary) | Improvements 🎉
(primary) | Improvements 🎉
(secondary) | All 😿 🎉
(primary) | |:---:|:---:|:---:|:---:|:---:|:---:| | count | 0 | 2 | 4 | 4 | 4 | | mean | N/A | 1.2% | -0.3% | -0.3% | -0.3% | | max | N/A | 1.2% | -0.4% | -0.4% | -0.4% |
Rollup of 7 pull requests #95990 (Comparison Link) | | Regressions 😿
(primary) | Regressions 😿
(secondary) | Improvements 🎉
(primary) | Improvements 🎉
(secondary) | All 😿 🎉
(primary) | |:---:|:---:|:---:|:---:|:---:|:---:| | count | 10 | 8 | 0 | 5 | 10 | | mean | 0.7% | 9.3% | N/A | -0.8% | 0.7% | | max | 4.1% | 71.7% | N/A | -1.2% | 4.1% |
Remove NodeIdHashingMode. #95656 (Comparison Link) | | Regressions 😿
(primary) | Regressions 😿
(secondary) | Improvements 🎉
(primary) | Improvements 🎉
(secondary) | All 😿 🎉
(primary) | |:---:|:---:|:---:|:---:|:---:|:---:| | count | 103 | 75 | 0 | 8 | 103 | | mean | 0.6% | 0.7% | N/A | -0.5% | 0.6% | | max | 1.1% | 1.7% | N/A | -0.8% | 1.1% |
Rollup of 6 pull requests #96015 (Comparison Link) | | Regressions 😿
(primary) | Regressions 😿
(secondary) | Improvements 🎉
(primary) | Improvements 🎉
(secondary) | All 😿 🎉
(primary) | |:---:|:---:|:---:|:---:|:---:|:---:| | count | 0 | 6 | 0 | 2 | 0 | | mean | N/A | 0.7% | N/A | -0.3% | N/A | | max | N/A | 1.1% | N/A | -0.4% | N/A |
rustc_data_structures::intern::Interned<rustc_middle::mir::interpret::allocation::Allocation> as rustc_data_structures::stable_hasher::HashStable<rustc_query_system::ich::hcx::StableHashingContext>>::hash_stable
Update cargo #96031 (Comparison Link) | | Regressions 😿
(primary) | Regressions 😿
(secondary) | Improvements 🎉
(primary) | Improvements 🎉
(secondary) | All 😿 🎉
(primary) | |:---:|:---:|:---:|:---:|:---:|:---:| | count | 0 | 3 | 0 | 1 | 0 | | mean | N/A | 1.1% | N/A | -0.4% | N/A | | max | N/A | 1.1% | N/A | -0.4% | N/A |
library: Move CStr
to libcore, and CString
to liballoc #94079 (Comparison Link) | | Regressions 😿
(primary) | Regressions 😿
(secondary) | Improvements 🎉
(primary) | Improvements 🎉
(secondary) | All 😿 🎉
(primary) | |:---:|:---:|:---:|:---:|:---:|:---:| | count | 1 | 3 | 0 | 2 | 1 | | mean | 0.8% | 0.9% | N/A | -0.6% | 0.8% | | max | 0.8% | 1.2% | N/A | -0.7% | 0.8% |
Rollup of 11 pull requests #96087 (Comparison Link) | | Regressions 😿
(primary) | Regressions 😿
(secondary) | Improvements 🎉
(primary) | Improvements 🎉
(secondary) | All 😿 🎉
(primary) | |:---:|:---:|:---:|:---:|:---:|:---:| | count | 1 | 1 | 1 | 5 | 2 | | mean | 0.7% | 0.6% | -0.8% | -0.8% | -0.1% | | max | 0.7% | 0.6% | -0.8% | -1.1% | -0.8% |
Optimize RcInnerPtr::inc_strong()/inc_weak() instruction count #95224 (Comparison Link) | | Regressions 😿
(primary) | Regressions 😿
(secondary) | Improvements 🎉
(primary) | Improvements 🎉
(secondary) | All 😿 🎉
(primary) | |:---:|:---:|:---:|:---:|:---:|:---:| | count | 0 | 4 | 0 | 1 | 0 | | mean | N/A | 1.9% | N/A | -0.3% | N/A | | max | N/A | 3.9% | N/A | -0.3% | N/A |
Only check the compiler and standard library before documenting them (take 2) #95450 (Comparison Link) | | Regressions 😿
(primary) | Regressions 😿
(secondary) | Improvements 🎉
(primary) | Improvements 🎉
(secondary) | All 😿 🎉
(primary) | |:---:|:---:|:---:|:---:|:---:|:---:| | count | 1 | 1 | 0 | 2 | 1 | | mean | 0.9% | 0.4% | N/A | -1.2% | 0.9% | | max | 0.9% | 0.4% | N/A | -1.2% | 0.9% |
Better method call error messages #92364 (Comparison Link) | | Regressions 😿
(primary) | Regressions 😿
(secondary) | Improvements 🎉
(primary) | Improvements 🎉
(secondary) | All 😿 🎉
(primary) | |:---:|:---:|:---:|:---:|:---:|:---:| | count | 0 | 4 | 3 | 0 | 3 | | mean | N/A | 0.8% | -1.1% | N/A | -1.1% | | max | N/A | 1.2% | -1.5% | N/A | -1.5% |
Rollup of 9 pull requests #96108 (Comparison Link) | | Regressions 😿
(primary) | Regressions 😿
(secondary) | Improvements 🎉
(primary) | Improvements 🎉
(secondary) | All 😿 🎉
(primary) | |:---:|:---:|:---:|:---:|:---:|:---:| | count | 0 | 3 | 0 | 2 | 0 | | mean | N/A | 1.1% | N/A | -0.5% | N/A | | max | N/A | 1.1% | N/A | -0.7% | N/A |
Rollup of 7 pull requests #96117 (Comparison Link) | | Regressions 😿
(primary) | Regressions 😿
(secondary) | Improvements 🎉
(primary) | Improvements 🎉
(secondary) | All 😿 🎉
(primary) | |:---:|:---:|:---:|:---:|:---:|:---:| | count | 0 | 3 | 0 | 1 | 0 | | mean | N/A | 1.1% | N/A | -0.4% | N/A | | max | N/A | 1.1% | N/A | -0.4% | N/A |
rustc_metadata: Do not encode unnecessary module children #95899 (Comparison Link) | | Regressions 😿
(primary) | Regressions 😿
(secondary) | Improvements 🎉
(primary) | Improvements 🎉
(secondary) | All 😿 🎉
(primary) | |:---:|:---:|:---:|:---:|:---:|:---:| | count | 0 | 4 | 0 | 10 | 0 | | mean | N/A | 0.9% | N/A | -0.7% | N/A | | max | N/A | 1.1% | N/A | -1.4% | N/A |
Implement core::ptr::Unique
on top of NonNull
#96010 (Comparison Link) | | Regressions 😿
(primary) | Regressions 😿
(secondary) | Improvements 🎉
(primary) | Improvements 🎉
(secondary) | All 😿 🎉
(primary) | |:---:|:---:|:---:|:---:|:---:|:---:| | count | 20 | 10 | 0 | 6 | 20 | | mean | 0.6% | 1.3% | N/A | -0.4% | 0.6% | | max | 1.2% | 2.5% | N/A | -0.5% | 1.2% |
Refactor HIR item-like traversal (part 1) #95655 (Comparison Link) | | Regressions 😿
(primary) | Regressions 😿
(secondary) | Improvements 🎉
(primary) | Improvements 🎉
(secondary) | All 😿 🎉
(primary) | |:---:|:---:|:---:|:---:|:---:|:---:| | count | 33 | 32 | 0 | 3 | 33 | | mean | 0.3% | 0.7% | N/A | -1.0% | 0.3% | | max | 0.4% | 1.6% | N/A | -1.0% | 0.4% |
Remove last vestiges of skippng ident span hashing #96016 (Comparison Link) | | Regressions 😿
(primary) | Regressions 😿
(secondary) | Improvements 🎉
(primary) | Improvements 🎉
(secondary) | All 😿 🎉
(primary) | |:---:|:---:|:---:|:---:|:---:|:---:| | count | 1 | 0 | 0 | 7 | 1 | | mean | 2.6% | N/A | N/A | -0.4% | 2.6% | | max | 2.6% | N/A | N/A | -0.5% | 2.6% |
Report undeclared lifetimes during late resolution. #95779 (Comparison Link) | | Regressions 😿
(primary) | Regressions 😿
(secondary) | Improvements 🎉
(primary) | Improvements 🎉
(secondary) | All 😿 🎉
(primary) | |:---:|:---:|:---:|:---:|:---:|:---:| | count | 58 | 39 | 1 | 2 | 59 | | mean | 0.5% | 0.5% | -2.5% | -1.0% | 0.5% | | max | 0.8% | 1.1% | -2.5% | -1.0% | -2.5% |
Fix rustdoc duplicated blanket impls #96091 (Comparison Link) | | Regressions 😿
(primary) | Regressions 😿
(secondary) | Improvements 🎉
(primary) | Improvements 🎉
(secondary) | All 😿 🎉
(primary) | |:---:|:---:|:---:|:---:|:---:|:---:| | count | 0 | 3 | 0 | 3 | 0 | | mean | N/A | 1.1% | N/A | -1.1% | N/A | | max | N/A | 1.2% | N/A | -1.1% | N/A |
Revert: Make TLS __getit #[inline(always)] on non-Windows #96139 (Comparison Link) | | Regressions 😿
(primary) | Regressions 😿
(secondary) | Improvements 🎉
(primary) | Improvements 🎉
(secondary) | All 😿 🎉
(primary) | |:---:|:---:|:---:|:---:|:---:|:---:| | count | 1 | 3 | 0 | 1 | 1 | | mean | 3.3% | 1.1% | N/A | -0.7% | 3.3% | | max | 3.3% | 1.1% | N/A | -0.7% | 3.3% |
Make x test --stage 2 compiler/rustc_XXX
faster to run #96000 (Comparison Link) | | Regressions 😿
(primary) | Regressions 😿
(secondary) | Improvements 🎉
(primary) | Improvements 🎉
(secondary) | All 😿 🎉
(primary) | |:---:|:---:|:---:|:---:|:---:|:---:| | count | 1 | 0 | 0 | 1 | 1 | | mean | 1.5% | N/A | N/A | -0.7% | 1.5% | | max | 1.5% | N/A | N/A | -0.7% | 1.5% |
Micro-optimize ty::relate::relate_substs
by avoiding match
#96020 (Comparison Link) | | Regressions 😿
(primary) | Regressions 😿
(secondary) | Improvements 🎉
(primary) | Improvements 🎉
(secondary) | All 😿 🎉
(primary) | |:---:|:---:|:---:|:---:|:---:|:---:| | count | 0 | 6 | 0 | 8 | 0 | | mean | N/A | 1.8% | N/A | -0.6% | N/A | | max | N/A | 2.3% | N/A | -1.2% | N/A |
Rollup of 6 pull requests #96214 (Comparison Link) | | Regressions 😿
(primary) | Regressions 😿
(secondary) | Improvements 🎉
(primary) | Improvements 🎉
(secondary) | All 😿 🎉
(primary) | |:---:|:---:|:---:|:---:|:---:|:---:| | count | 0 | 5 | 1 | 1 | 1 | | mean | N/A | 0.9% | -0.2% | -0.2% | -0.2% | | max | N/A | 1.5% | -0.2% | -0.2% | -0.2% |
ty::relate::relate_substs
by avoiding match
core::ptr::Unique
on top of NonNull
x test --stage 2 compiler/rustc_XXX
faster to runparse_tt
: a few more tweaksNonterminal