A rather rough week for compiler performance with regressions outweighing improvements by a considerable margin, in particular in real world crates. To add insult to injury, the biggest regressions came in rollups which make it difficult to trace the cause.
Triage done by @rylev. Revision range: b3f4c3119957aa0a250cab08ab586b7a9a680ef1..8bd12e8cca3f28f302b9cc0f1f47bb64bd1f98fd
Summary:
mean | max | count | |
---|---|---|---|
Regressions πΏ (primary) | 1.5% | 4.0% | 176 |
Regressions πΏ (secondary) | 1.8% | 6.4% | 147 |
Improvements π (primary) | N/A | N/A | 0 |
Improvements π (secondary) | -1.6% | -4.1% | 9 |
All πΏπ (primary) | 1.5% | 4.0% | 176 |
7 Regressions, 5 Improvements, 3 Mixed; 4 of them in rollups 48 artifact comparisons made in total
Rollup of 6 pull requests #99177 (Comparison Link)
mean | max | count | |
---|---|---|---|
Regressions πΏ (primary) | N/A | N/A | 0 |
Regressions πΏ (secondary) | 0.5% | 0.6% | 9 |
Improvements π (primary) | N/A | N/A | 0 |
Improvements π (secondary) | N/A | N/A | 0 |
All πΏπ (primary) | N/A | N/A | 0 |
Pull Derefer before ElaborateDrops #98145 (Comparison Link)
mean | max | count | |
---|---|---|---|
Regressions πΏ (primary) | 0.5% | 0.8% | 13 |
Regressions πΏ (secondary) | 0.7% | 1.1% | 20 |
Improvements π (primary) | N/A | N/A | 0 |
Improvements π (secondary) | N/A | N/A | 0 |
All πΏπ (primary) | 0.5% | 0.8% | 13 |
Rollup of 5 pull requests #99210 (Comparison Link)
mean | max | count | |
---|---|---|---|
Regressions πΏ (primary) | 2.6% | 4.5% | 7 |
Regressions πΏ (secondary) | 1.6% | 4.1% | 55 |
Improvements π (primary) | N/A | N/A | 0 |
Improvements π (secondary) | N/A | N/A | 0 |
All πΏπ (primary) | 2.6% | 4.5% | 7 |
asm!
macro.LLVMRustHasFeature
more often.Rollup of 5 pull requests #99231 (Comparison Link)
mean | max | count | |
---|---|---|---|
Regressions πΏ (primary) | 1.2% | 3.2% | 117 |
Regressions πΏ (secondary) | 1.7% | 6.4% | 35 |
Improvements π (primary) | N/A | N/A | 0 |
Improvements π (secondary) | -0.3% | -0.3% | 1 |
All πΏπ (primary) | 1.2% | 3.2% | 117 |
Support unstable moves via stable in unstable items #95956 (Comparison Link)
mean | max | count | |
---|---|---|---|
Regressions πΏ (primary) | 0.5% | 0.9% | 13 |
Regressions πΏ (secondary) | 0.6% | 1.2% | 10 |
Improvements π (primary) | N/A | N/A | 0 |
Improvements π (secondary) | N/A | N/A | 0 |
All πΏπ (primary) | 0.5% | 0.9% | 13 |
incr_comp_encode_dep_graph
are being hit more often. I‘m unsure whether this is simply because of the additional pass that’s happening or something else.Rollup of 10 pull requests #99346 (Comparison Link)
mean | max | count | |
---|---|---|---|
Regressions πΏ (primary) | 0.6% | 2.6% | 136 |
Regressions πΏ (secondary) | 1.0% | 5.8% | 100 |
Improvements π (primary) | N/A | N/A | 0 |
Improvements π (secondary) | N/A | N/A | 0 |
All πΏπ (primary) | 0.6% | 2.6% | 136 |
Use ICF (identical code folding) for building rustc #99062 (Comparison Link)
mean | max | count | |
---|---|---|---|
Regressions πΏ (primary) | 0.3% | 0.4% | 2 |
Regressions πΏ (secondary) | 2.6% | 2.6% | 3 |
Improvements π (primary) | N/A | N/A | 0 |
Improvements π (secondary) | N/A | N/A | 0 |
All πΏπ (primary) | 0.3% | 0.4% | 2 |
gather body owners #98203 (Comparison Link)
mean | max | count | |
---|---|---|---|
Regressions πΏ (primary) | N/A | N/A | 0 |
Regressions πΏ (secondary) | 0.6% | 0.6% | 1 |
Improvements π (primary) | -0.4% | -0.7% | 30 |
Improvements π (secondary) | -0.5% | -0.8% | 18 |
All πΏπ (primary) | -0.4% | -0.7% | 30 |
interpret: get rid of MemPlaceMeta::Poison #99013 (Comparison Link)
mean | max | count | |
---|---|---|---|
Regressions πΏ (primary) | N/A | N/A | 0 |
Regressions πΏ (secondary) | 0.5% | 0.5% | 1 |
Improvements π (primary) | N/A | N/A | 0 |
Improvements π (secondary) | -1.6% | -2.5% | 12 |
All πΏπ (primary) | N/A | N/A | 0 |
stop using FnCtxt
outside of hir typeck #99015 (Comparison Link)
mean | max | count | |
---|---|---|---|
Regressions πΏ (primary) | N/A | N/A | 0 |
Regressions πΏ (secondary) | N/A | N/A | 0 |
Improvements π (primary) | -0.6% | -0.9% | 11 |
Improvements π (secondary) | -0.4% | -0.6% | 11 |
All πΏπ (primary) | -0.6% | -0.9% | 11 |
Use constant eval to do strict mem::uninit/zeroed validity checks #99033 (Comparison Link)
mean | max | count | |
---|---|---|---|
Regressions πΏ (primary) | N/A | N/A | 0 |
Regressions πΏ (secondary) | N/A | N/A | 0 |
Improvements π (primary) | N/A | N/A | 0 |
Improvements π (secondary) | -2.2% | -2.9% | 6 |
All πΏπ (primary) | N/A | N/A | 0 |
replace_bound_vars
fast path: check predicates, don't check consts #99232 (Comparison Link)
mean | max | count | |
---|---|---|---|
Regressions πΏ (primary) | N/A | N/A | 0 |
Regressions πΏ (secondary) | N/A | N/A | 0 |
Improvements π (primary) | -0.6% | -0.7% | 6 |
Improvements π (secondary) | N/A | N/A | 0 |
All πΏπ (primary) | -0.6% | -0.7% | 6 |
Stop keeping metadata in memory before writing it to disk #96544 (Comparison Link)
mean | max | count | |
---|---|---|---|
Regressions πΏ (primary) | N/A | N/A | 0 |
Regressions πΏ (secondary) | 0.3% | 0.4% | 3 |
Improvements π (primary) | -0.3% | -0.3% | 1 |
Improvements π (secondary) | -4.1% | -4.1% | 2 |
All πΏπ (primary) | -0.3% | -0.3% | 1 |
Final derive output improvements #99046 (Comparison Link)
mean | max | count | |
---|---|---|---|
Regressions πΏ (primary) | 0.5% | 0.6% | 8 |
Regressions πΏ (secondary) | N/A | N/A | 0 |
Improvements π (primary) | -0.6% | -0.9% | 19 |
Improvements π (secondary) | -2.8% | -3.7% | 6 |
All πΏπ (primary) | -0.2% | -0.9% | 27 |
proc_macro/bridge: stop using a remote object handle for proc_macro Ident and Literal #98189 (Comparison Link)
mean | max | count | |
---|---|---|---|
Regressions πΏ (primary) | 1.0% | 2.2% | 4 |
Regressions πΏ (secondary) | N/A | N/A | 0 |
Improvements π (primary) | -0.7% | -1.7% | 19 |
Improvements π (secondary) | -3.0% | -3.1% | 3 |
All πΏπ (primary) | -0.4% | 2.2% | 23 |