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) | mean | range | count |
---|---|---|---|
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
Insert alignment checks for pointer dereferences when debug assertions are enabled #98112 (Comparison Link)
(instructions:u) | mean | range | count |
---|---|---|---|
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 |
Rollup of 6 pull requests #109714 (Comparison Link)
(instructions:u) | mean | range | count |
---|---|---|---|
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) | mean | range | count |
---|---|---|---|
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) | mean | range | count |
---|---|---|---|
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) | mean | range | count |
---|---|---|---|
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 |
Add a builtin FnPtr
trait that is implemented for all function pointers #108080 (Comparison Link)
(instructions:u) | mean | range | count |
---|---|---|---|
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) | mean | range | count |
---|---|---|---|
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) | mean | range | count |
---|---|---|---|
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 |