Overall a fairly busy week, with many improvements and regressions, though the net result ends up being a small regression. Pretty busy week in terms of regressions in rollups as well, which unfortunately mostly were not followed up on prior to the report being put together, despite the relative ease of running perf against individual PRs now.
Triage done by @simulacrum. Revision range: 1e926f06528ecb2503f026e2fd53cb735d487b10..e0f8e60dddfecfc9093ee9d9f42557d8260c0355
Summary:
(instructions:u) | mean | range | count |
---|---|---|---|
Regressions ❌ (primary) | 1.7% | [0.2%, 6.3%] | 46 |
Regressions ❌ (secondary) | 1.6% | [0.3%, 5.4%] | 46 |
Improvements ✅ (primary) | -0.6% | [-2.3%, -0.2%] | 45 |
Improvements ✅ (secondary) | -2.0% | [-9.2%, -0.2%] | 32 |
All ❌✅ (primary) | 0.6% | [-2.3%, 6.3%] | 91 |
2 Regressions, 4 Improvements, 4 Mixed; 4 of them in rollups 47 artifact comparisons made in total
Populate effective visibilities in ‘rustc_resolve’ #102026 (Comparison Link)
(instructions:u) | mean | range | count |
---|---|---|---|
Regressions ❌ (primary) | 1.1% | [0.2%, 5.6%] | 65 |
Regressions ❌ (secondary) | 0.9% | [0.2%, 3.7%] | 32 |
Improvements ✅ (primary) | - | - | 0 |
Improvements ✅ (secondary) | - | - | 0 |
All ❌✅ (primary) | 1.1% | [0.2%, 5.6%] | 65 |
The compiler is doing more work after this PR, but haven't yet narrowed in on a fix or exact cause for the regression. @petrochenkov expects that we probably ought to be able to reduce the impact.
Rollup of 7 pull requests #102915 (Comparison Link)
(instructions:u) | mean | range | count |
---|---|---|---|
Regressions ❌ (primary) | 0.6% | [0.2%, 1.1%] | 12 |
Regressions ❌ (secondary) | - | - | 0 |
Improvements ✅ (primary) | -0.7% | [-0.9%, -0.6%] | 6 |
Improvements ✅ (secondary) | - | - | 0 |
All ❌✅ (primary) | 0.2% | [-0.9%, 1.1%] | 18 |
The improvements here are in diesel, which is noise; the regressions look plausibly real. Queued an additional perf run for further investigation.
Rollup of 11 pull requests #102926 (Comparison Link)
(instructions:u) | mean | range | count |
---|---|---|---|
Regressions ❌ (primary) | - | - | 0 |
Regressions ❌ (secondary) | 0.2% | [0.2%, 0.2%] | 1 |
Improvements ✅ (primary) | -0.4% | [-1.0%, -0.2%] | 20 |
Improvements ✅ (secondary) | -0.5% | [-0.6%, -0.3%] | 7 |
All ❌✅ (primary) | -0.4% | [-1.0%, -0.2%] | 20 |
This may not be as much of an improvement as it looks; the diesel-related changes are all spurious (we are seeing an uptick in noise there).
Remove TokenStreamBuilder
#102692 (Comparison Link)
(instructions:u) | mean | range | count |
---|---|---|---|
Regressions ❌ (primary) | - | - | 0 |
Regressions ❌ (secondary) | - | - | 0 |
Improvements ✅ (primary) | -0.5% | [-0.6%, -0.3%] | 4 |
Improvements ✅ (secondary) | -4.1% | [-9.5%, -1.2%] | 9 |
All ❌✅ (primary) | -0.5% | [-0.6%, -0.3%] | 4 |
remove type traversal for mir constants #102355 (Comparison Link)
(instructions:u) | mean | range | count |
---|---|---|---|
Regressions ❌ (primary) | - | - | 0 |
Regressions ❌ (secondary) | - | - | 0 |
Improvements ✅ (primary) | -0.4% | [-0.8%, -0.2%] | 36 |
Improvements ✅ (secondary) | -1.3% | [-3.7%, -0.2%] | 37 |
All ❌✅ (primary) | -0.4% | [-0.8%, -0.2%] | 36 |
Rollup of 7 pull requests #103026 (Comparison Link)
(instructions:u) | mean | range | count |
---|---|---|---|
Regressions ❌ (primary) | 0.9% | [0.7%, 1.1%] | 6 |
Regressions ❌ (secondary) | 0.4% | [0.4%, 0.4%] | 1 |
Improvements ✅ (primary) | - | - | 0 |
Improvements ✅ (secondary) | -0.5% | [-1.5%, -0.3%] | 7 |
All ❌✅ (primary) | 0.9% | [0.7%, 1.1%] | 6 |
Regressions are essentially all in diesel, which are spurious.
Rollup of 7 pull requests #102975 (Comparison Link)
(instructions:u) | mean | range | count |
---|---|---|---|
Regressions ❌ (primary) | 0.6% | [0.2%, 1.0%] | 19 |
Regressions ❌ (secondary) | 1.3% | [0.2%, 3.8%] | 41 |
Improvements ✅ (primary) | -0.9% | [-1.7%, -0.4%] | 14 |
Improvements ✅ (secondary) | - | - | 0 |
All ❌✅ (primary) | -0.0% | [-1.7%, 1.0%] | 33 |
Check hidden types in dead code #102700 (Comparison Link)
(instructions:u) | mean | range | count |
---|---|---|---|
Regressions ❌ (primary) | - | - | 0 |
Regressions ❌ (secondary) | 1.2% | [1.0%, 1.3%] | 4 |
Improvements ✅ (primary) | -0.3% | [-0.4%, -0.2%] | 13 |
Improvements ✅ (secondary) | -0.6% | [-0.7%, -0.5%] | 4 |
All ❌✅ (primary) | -0.3% | [-0.4%, -0.2%] | 13 |
Get rid of rustc_query_description!
#102895 (Comparison Link)
(instructions:u) | mean | range | count |
---|---|---|---|
Regressions ❌ (primary) | 0.3% | [0.2%, 0.5%] | 9 |
Regressions ❌ (secondary) | 0.6% | [0.3%, 0.8%] | 5 |
Improvements ✅ (primary) | - | - | 0 |
Improvements ✅ (secondary) | -0.7% | [-1.2%, -0.2%] | 6 |
All ❌✅ (primary) | 0.3% | [0.2%, 0.5%] | 9 |
Make overlapping_impls
not generic #102931 (Comparison Link)
(instructions:u) | mean | range | count |
---|---|---|---|
Regressions ❌ (primary) | - | - | 0 |
Regressions ❌ (secondary) | 0.5% | [0.5%, 0.5%] | 2 |
Improvements ✅ (primary) | -1.6% | [-2.3%, -1.1%] | 7 |
Improvements ✅ (secondary) | - | - | 0 |
All ❌✅ (primary) | -1.6% | [-2.3%, -1.1%] | 7 |