2023-04-04 Triage Log

A large improvement in const evaluation (particularly for large types) in #109670 and a large improvement to many-paged rustdoc workloads in #109876 by removing quadratic behavior. Regressions are comparatively limited this week.

Triage done by @simulacrum. Revision range: cbc064b341be231403d181402a786cce7f1c73f1..7c96e40da81165beef4f273f44e96eeef5a1bd30

Summary:

(instructions:u)meanrangecount
Regressions ❌
(primary)
2.3%[0.4%, 8.4%]18
Regressions ❌
(secondary)
1.6%[0.3%, 10.7%]26
Improvements ✅
(primary)
-2.5%[-77.6%, -0.3%]63
Improvements ✅
(secondary)
-4.0%[-27.9%, -0.3%]52
All ❌✅ (primary)-1.4%[-77.6%, 8.4%]81

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

Regressions

Insert alignment checks for pointer dereferences when debug assertions are enabled #98112 (Comparison Link)

(instructions:u)meanrangecount
Regressions ❌
(primary)
0.4%[0.4%, 0.5%]3
Regressions ❌
(secondary)
--0
Improvements ✅
(primary)
--0
Improvements ✅
(secondary)
--0
All ❌✅ (primary)0.4%[0.4%, 0.5%]3

Improvements

Rollup of 6 pull requests #109714 (Comparison Link)

(instructions:u)meanrangecount
Regressions ❌
(primary)
--0
Regressions ❌
(secondary)
--0
Improvements ✅
(primary)
-0.4%[-0.7%, -0.3%]5
Improvements ✅
(secondary)
--0
All ❌✅ (primary)-0.4%[-0.7%, -0.3%]5

Make init mask lazy for fully initialized/uninitialized const allocations #109670 (Comparison Link)

(instructions:u)meanrangecount
Regressions ❌
(primary)
--0
Regressions ❌
(secondary)
--0
Improvements ✅
(primary)
--0
Improvements ✅
(secondary)
-5.1%[-27.7%, -1.4%]17
All ❌✅ (primary)--0

Update ty::VariantDef to use IndexVec<FieldIdx, FieldDef> #109762 (Comparison Link)

(instructions:u)meanrangecount
Regressions ❌
(primary)
--0
Regressions ❌
(secondary)
--0
Improvements ✅
(primary)
-0.5%[-0.6%, -0.5%]3
Improvements ✅
(secondary)
-0.4%[-0.5%, -0.3%]8
All ❌✅ (primary)-0.5%[-0.6%, -0.5%]3

rustdoc: make intra-doc link pass non-quadratic for repeated links #109876 (Comparison Link)

(instructions:u)meanrangecount
Regressions ❌
(primary)
--0
Regressions ❌
(secondary)
--0
Improvements ✅
(primary)
-11.8%[-77.7%, -0.6%]8
Improvements ✅
(secondary)
-3.6%[-3.6%, -3.6%]1
All ❌✅ (primary)-11.8%[-77.7%, -0.6%]8

Mixed

Add a builtin FnPtr trait that is implemented for all function pointers #108080 (Comparison Link)

(instructions:u)meanrangecount
Regressions ❌
(primary)
3.2%[1.1%, 5.5%]10
Regressions ❌
(secondary)
0.9%[0.3%, 1.1%]5
Improvements ✅
(primary)
-1.8%[-7.3%, -0.3%]17
Improvements ✅
(secondary)
-4.0%[-7.5%, -0.4%]27
All ❌✅ (primary)0.1%[-7.3%, 5.5%]27

Rollup of 8 pull requests #109692 (Comparison Link)

(instructions:u)meanrangecount
Regressions ❌
(primary)
0.9%[0.2%, 9.2%]31
Regressions ❌
(secondary)
1.7%[0.2%, 10.9%]25
Improvements ✅
(primary)
--0
Improvements ✅
(secondary)
-1.1%[-1.6%, -0.5%]5
All ❌✅ (primary)0.9%[0.2%, 9.2%]31

numeric vars can only be unified with numerical types in deep reject #109750 (Comparison Link)

(instructions:u)meanrangecount
Regressions ❌
(primary)
0.6%[0.6%, 0.6%]3
Regressions ❌
(secondary)
0.4%[0.3%, 0.5%]8
Improvements ✅
(primary)
-0.6%[-1.8%, -0.2%]44
Improvements ✅
(secondary)
-0.8%[-1.5%, -0.2%]3
All ❌✅ (primary)-0.6%[-1.8%, 0.6%]47