2024-01-02 Triage Log

Overall, this week had very few regressions and a moderate amount of improvements. The two biggest improvements came in how metadata was being encoded including a change to only store StableCrateId once in DefPathTable which yielded a 0.3% average improvement across 79 different benchmarks.

Triage done by @rylev. Revision range: 1ab783112..67b6975

Summary:

(instructions:u)meanrangecount
Regressions ❌
(primary)
0.7%[0.3%, 1.5%]8
Regressions ❌
(secondary)
0.8%[0.2%, 1.3%]23
Improvements ✅
(primary)
-0.6%[-2.6%, -0.2%]121
Improvements ✅
(secondary)
-5.2%[-62.5%, -0.2%]53
All ❌✅ (primary)-0.5%[-2.6%, 1.5%]129

2 Regressions, 3 Improvements, 1 Mixed; 0 of them in rollups 46 artifact comparisons made in total

Regressions

Emit better suggestions for &T == T and T == &T #118431 (Comparison Link)

(instructions:u)meanrangecount
Regressions ❌
(primary)
24.0%[18.1%, 29.5%]3
Regressions ❌
(secondary)
--0
Improvements ✅
(primary)
--0
Improvements ✅
(secondary)
--0
All ❌✅ (primary)24.0%[18.1%, 29.5%]3
  • Blip in the perf infrastructure that was reversed in the next run

rustc_lint: Enforce rustc::potential_query_instability lint #119251 (Comparison Link)

(instructions:u)meanrangecount
Regressions ❌
(primary)
0.2%[0.2%, 0.3%]2
Regressions ❌
(secondary)
0.3%[0.2%, 0.4%]8
Improvements ✅
(primary)
--0
Improvements ✅
(secondary)
--0
All ❌✅ (primary)0.2%[0.2%, 0.3%]2
  • Small regression that might just be worth it. There is discussion in #119488 on whether to do a partial revert, but so far the argument is being made to just accept the small regression.

Improvements

Suggest = to == in more cases, even in the face of reference mismatch #119328 (Comparison Link)

(instructions:u)meanrangecount
Regressions ❌
(primary)
--0
Regressions ❌
(secondary)
--0
Improvements ✅
(primary)
-19.2%[-22.7%, -15.3%]3
Improvements ✅
(secondary)
--0
All ❌✅ (primary)-19.2%[-22.7%, -15.3%]3
  • Reversal of perf infrastructure blip in previous run

Only store StableCrateId once in DefPathTable. #119259 (Comparison Link)

(instructions:u)meanrangecount
Regressions ❌
(primary)
0.8%[0.8%, 0.8%]1
Regressions ❌
(secondary)
--0
Improvements ✅
(primary)
-0.3%[-0.6%, -0.2%]78
Improvements ✅
(secondary)
-0.4%[-0.6%, -0.3%]16
All ❌✅ (primary)-0.3%[-0.6%, 0.8%]79

Shrink span encoding further #119367 (Comparison Link)

(instructions:u)meanrangecount
Regressions ❌
(primary)
--0
Regressions ❌
(secondary)
--0
Improvements ✅
(primary)
-0.3%[-0.5%, -0.2%]27
Improvements ✅
(secondary)
-0.5%[-0.6%, -0.3%]11
All ❌✅ (primary)-0.3%[-0.5%, -0.2%]27

Mixed

Implement constant propagation on top of MIR SSA analysis #116012 (Comparison Link)

(instructions:u)meanrangecount
Regressions ❌
(primary)
0.7%[0.2%, 1.9%]10
Regressions ❌
(secondary)
0.6%[0.2%, 1.1%]15
Improvements ✅
(primary)
-0.6%[-2.6%, -0.2%]26
Improvements ✅
(secondary)
-31.2%[-62.1%, -0.2%]8
All ❌✅ (primary)-0.2%[-2.6%, 1.9%]36
  • Change has positive impacts on runtime performance and the improvements outweigh the regressions