Overall a positive week, with relatively few regressions overall and a number of improvements.
Triage done by @simulacrum. Revision range: c8e6a9e8b6251bbc8276cb78cabe1998deecbed7..a64ef7d07d0411315be85a646586cb85eeb9c136
Summary:
(instructions:u) | mean | range | count |
---|---|---|---|
Regressions ❌ (primary) | 0.6% | [0.6%, 0.6%] | 1 |
Regressions ❌ (secondary) | 0.3% | [0.3%, 0.3%] | 1 |
Improvements ✅ (primary) | -0.8% | [-2.0%, -0.2%] | 27 |
Improvements ✅ (secondary) | -0.9% | [-1.9%, -0.5%] | 11 |
All ❌✅ (primary) | -0.8% | [-2.0%, 0.6%] | 28 |
2 Regressions, 4 Improvements, 6 Mixed; 2 of them in rollups 44 artifact comparisons made in total
Fix thin archive reading #107360 (Comparison Link)
(instructions:u) | mean | range | count |
---|---|---|---|
Regressions ❌ (primary) | 0.4% | [0.3%, 0.6%] | 13 |
Regressions ❌ (secondary) | 0.5% | [0.4%, 0.5%] | 2 |
Improvements ✅ (primary) | - | - | 0 |
Improvements ✅ (secondary) | - | - | 0 |
All ❌✅ (primary) | 0.4% | [0.3%, 0.6%] | 13 |
Revert of previous PR to fix behavior. Regressions are minor and hopefully the relanding of the original PR will fix them too.
Use stable metric for const eval limit instead of current terminator-based logic #106227 (Comparison Link)
(instructions:u) | mean | range | count |
---|---|---|---|
Regressions ❌ (primary) | 0.3% | [0.3%, 0.4%] | 3 |
Regressions ❌ (secondary) | 0.8% | [0.5%, 1.0%] | 9 |
Improvements ✅ (primary) | - | - | 0 |
Improvements ✅ (secondary) | - | - | 0 |
All ❌✅ (primary) | 0.3% | [0.3%, 0.4%] | 3 |
The new metric adds new MIR instructions, which increases the size of MIR and slightly hurts performance. However, this is in service of a concrete feature, so acceptable.
use LocalDefId
instead of HirId
in trait resolution to simplify the obligation clause resolution #103902 (Comparison Link)
(instructions:u) | mean | range | count |
---|---|---|---|
Regressions ❌ (primary) | - | - | 0 |
Regressions ❌ (secondary) | - | - | 0 |
Improvements ✅ (primary) | -0.3% | [-0.3%, -0.2%] | 4 |
Improvements ✅ (secondary) | -0.4% | [-0.5%, -0.3%] | 3 |
All ❌✅ (primary) | -0.3% | [-0.3%, -0.2%] | 4 |
InstCombine away intrinsic validity assertions #105582 (Comparison Link)
(instructions:u) | mean | range | count |
---|---|---|---|
Regressions ❌ (primary) | - | - | 0 |
Regressions ❌ (secondary) | - | - | 0 |
Improvements ✅ (primary) | -0.2% | [-0.3%, -0.2%] | 6 |
Improvements ✅ (secondary) | -0.6% | [-1.3%, -0.3%] | 4 |
All ❌✅ (primary) | -0.2% | [-0.3%, -0.2%] | 6 |
Only compute mir_generator_witnesses query in drop_tracking_mir mode. #107406 (Comparison Link)
(instructions:u) | mean | range | count |
---|---|---|---|
Regressions ❌ (primary) | - | - | 0 |
Regressions ❌ (secondary) | - | - | 0 |
Improvements ✅ (primary) | - | - | 0 |
Improvements ✅ (secondary) | -3.7% | [-5.7%, -1.1%] | 10 |
All ❌✅ (primary) | - | - | 0 |
Test drop_tracking_mir before querying generator. #107443 (Comparison Link)
(instructions:u) | mean | range | count |
---|---|---|---|
Regressions ❌ (primary) | - | - | 0 |
Regressions ❌ (secondary) | - | - | 0 |
Improvements ✅ (primary) | -0.5% | [-0.6%, -0.2%] | 14 |
Improvements ✅ (secondary) | -0.7% | [-1.0%, -0.4%] | 8 |
All ❌✅ (primary) | -0.5% | [-0.6%, -0.2%] | 14 |
Move format_args!() into AST (and expand it during AST lowering) #106745 (Comparison Link)
(instructions:u) | mean | range | count |
---|---|---|---|
Regressions ❌ (primary) | 0.6% | [0.2%, 0.8%] | 4 |
Regressions ❌ (secondary) | 0.8% | [0.3%, 1.3%] | 3 |
Improvements ✅ (primary) | -0.6% | [-2.3%, -0.2%] | 51 |
Improvements ✅ (secondary) | -0.7% | [-0.8%, -0.7%] | 6 |
All ❌✅ (primary) | -0.6% | [-2.3%, 0.8%] | 55 |
Overall mostly an improvement, not worth further investigation.
Rollup of 8 pull requests #107343 (Comparison Link)
(instructions:u) | mean | range | count |
---|---|---|---|
Regressions ❌ (primary) | 0.7% | [0.5%, 0.8%] | 7 |
Regressions ❌ (secondary) | - | - | 0 |
Improvements ✅ (primary) | - | - | 0 |
Improvements ✅ (secondary) | -0.4% | [-0.4%, -0.4%] | 1 |
All ❌✅ (primary) | 0.7% | [0.5%, 0.8%] | 7 |
Regressions are limited to a single primary benchmark (bitmaps), and don't seem large enough to warrant spending further time investigating.
rustdoc: Collect “rustdoc-reachable” items during early doc link resolution #107054 (Comparison Link)
(instructions:u) | mean | range | count |
---|---|---|---|
Regressions ❌ (primary) | 0.4% | [0.3%, 0.4%] | 2 |
Regressions ❌ (secondary) | - | - | 0 |
Improvements ✅ (primary) | -0.5% | [-1.0%, -0.3%] | 4 |
Improvements ✅ (secondary) | -0.6% | [-0.9%, -0.2%] | 14 |
All ❌✅ (primary) | -0.2% | [-1.0%, 0.4%] | 6 |
Wins generally outweigh small regressions.
Compute generator saved locals on MIR #101692 (Comparison Link)
(instructions:u) | mean | range | count |
---|---|---|---|
Regressions ❌ (primary) | 0.6% | [0.4%, 0.6%] | 14 |
Regressions ❌ (secondary) | 2.2% | [0.3%, 6.0%] | 22 |
Improvements ✅ (primary) | -0.4% | [-0.7%, -0.2%] | 12 |
Improvements ✅ (secondary) | - | - | 0 |
All ❌✅ (primary) | 0.1% | [-0.7%, 0.6%] | 26 |
Follow-up in #107406 has resolved 5% regression here, leaving ~1% regressions, but those are likely overall OK.
Rollup of 9 pull requests #107408 (Comparison Link)
(instructions:u) | mean | range | count |
---|---|---|---|
Regressions ❌ (primary) | 1.8% | [1.5%, 2.1%] | 6 |
Regressions ❌ (secondary) | 0.6% | [0.2%, 1.8%] | 5 |
Improvements ✅ (primary) | -0.6% | [-0.6%, -0.6%] | 2 |
Improvements ✅ (secondary) | - | - | 0 |
All ❌✅ (primary) | 1.2% | [-0.6%, 2.1%] | 8 |
Remove HirId -> LocalDefId map from HIR. #107206 (Comparison Link)
(instructions:u) | mean | range | count |
---|---|---|---|
Regressions ❌ (primary) | - | - | 0 |
Regressions ❌ (secondary) | 0.3% | [0.2%, 0.4%] | 5 |
Improvements ✅ (primary) | -0.3% | [-0.4%, -0.2%] | 7 |
Improvements ✅ (secondary) | -0.3% | [-0.4%, -0.3%] | 7 |
All ❌✅ (primary) | -0.3% | [-0.4%, -0.2%] | 7 |