We saw a large set of primary benchmarks regress, mostly due to PR #120924 (lint_reasons
and #[expect]
) and PR #120639 (new effects desugaring). Separate from those, there are a couple rollup PRs (#127076, #127096) with some regressions that were limited to relatively few benchmarks; pnkfelix was unable to isolate a injecting PR that can be identified as a root cause (outside assistance welcome!).
Triage done by @pnkfelix. Revision range: c3d7fb39..cf2df68d
Summary:
(instructions:u) | mean | range | count |
---|---|---|---|
Regressions ❌ (primary) | 1.0% | [0.2%, 2.8%] | 109 |
Regressions ❌ (secondary) | 1.4% | [0.3%, 8.0%] | 50 |
Improvements ✅ (primary) | -1.3% | [-4.3%, -0.2%] | 41 |
Improvements ✅ (secondary) | -1.3% | [-4.4%, -0.2%] | 75 |
All ❌✅ (primary) | 0.4% | [-4.3%, 2.8%] | 150 |
4 Regressions, 3 Improvements, 11 Mixed; 7 of them in rollups 59 artifact comparisons made in total
Rollup of 7 pull requests #126951 (Comparison Link)
(instructions:u) | mean | range | count |
---|---|---|---|
Regressions ❌ (primary) | 0.5% | [0.5%, 0.6%] | 3 |
Regressions ❌ (secondary) | - | - | 0 |
Improvements ✅ (primary) | - | - | 0 |
Improvements ✅ (secondary) | - | - | 0 |
All ❌✅ (primary) | 0.5% | [0.5%, 0.6%] | 3 |
Let's #[expect]
some lints: Stabilize lint_reasons
(RFC 2383) #120924 (Comparison Link)
(instructions:u) | mean | range | count |
---|---|---|---|
Regressions ❌ (primary) | 0.6% | [0.2%, 1.9%] | 142 |
Regressions ❌ (secondary) | 0.6% | [0.1%, 1.5%] | 79 |
Improvements ✅ (primary) | - | - | 0 |
Improvements ✅ (secondary) | - | - | 0 |
All ❌✅ (primary) | 0.6% | [0.2%, 1.9%] | 142 |
#[expect]
is implemented; it is also hypothesized to be “likely” that the implementation can be better optimized.Update browser-ui-test version to 0.18.0
#127010 (Comparison Link)
(instructions:u) | mean | range | count |
---|---|---|---|
Regressions ❌ (primary) | - | - | 0 |
Regressions ❌ (secondary) | 7.2% | [7.2%, 7.2%] | 1 |
Improvements ✅ (primary) | - | - | 0 |
Improvements ✅ (secondary) | - | - | 0 |
All ❌✅ (primary) | - | - | 0 |
Implement new effects desugaring #120639 (Comparison Link)
(instructions:u) | mean | range | count |
---|---|---|---|
Regressions ❌ (primary) | 0.3% | [0.2%, 0.6%] | 72 |
Regressions ❌ (secondary) | 0.4% | [0.1%, 0.9%] | 24 |
Improvements ✅ (primary) | - | - | 0 |
Improvements ✅ (secondary) | - | - | 0 |
All ❌✅ (primary) | 0.3% | [0.2%, 0.6%] | 72 |
Save 2 pointers in TerminatorKind
(96 → 80 bytes) #126784 (Comparison Link)
(instructions:u) | mean | range | count |
---|---|---|---|
Regressions ❌ (primary) | - | - | 0 |
Regressions ❌ (secondary) | - | - | 0 |
Improvements ✅ (primary) | -0.4% | [-0.5%, -0.2%] | 9 |
Improvements ✅ (secondary) | -0.1% | [-0.1%, -0.1%] | 4 |
All ❌✅ (primary) | -0.4% | [-0.5%, -0.2%] | 9 |
rustdoc: use current stage if download-rustc enabled #126728 (Comparison Link)
(instructions:u) | mean | range | count |
---|---|---|---|
Regressions ❌ (primary) | - | - | 0 |
Regressions ❌ (secondary) | - | - | 0 |
Improvements ✅ (primary) | - | - | 0 |
Improvements ✅ (secondary) | -8.0% | [-8.0%, -8.0%] | 1 |
All ❌✅ (primary) | - | - | 0 |
Rollup of 9 pull requests #127174 (Comparison Link)
(instructions:u) | mean | range | count |
---|---|---|---|
Regressions ❌ (primary) | - | - | 0 |
Regressions ❌ (secondary) | 0.2% | [0.2%, 0.2%] | 1 |
Improvements ✅ (primary) | -0.4% | [-1.1%, -0.2%] | 46 |
Improvements ✅ (secondary) | -1.3% | [-2.9%, -0.2%] | 36 |
All ❌✅ (primary) | -0.4% | [-1.1%, -0.2%] | 46 |
Rollup of 9 pull requests #126878 (Comparison Link)
(instructions:u) | mean | range | count |
---|---|---|---|
Regressions ❌ (primary) | - | - | 0 |
Regressions ❌ (secondary) | 0.4% | [0.3%, 0.5%] | 6 |
Improvements ✅ (primary) | -0.4% | [-0.5%, -0.3%] | 4 |
Improvements ✅ (secondary) | -0.3% | [-0.3%, -0.3%] | 1 |
All ❌✅ (primary) | -0.4% | [-0.5%, -0.3%] | 4 |
Add SliceLike
to rustc_type_ir
, use it in the generic solver code (+ some other changes) #126813 (Comparison Link)
(instructions:u) | mean | range | count |
---|---|---|---|
Regressions ❌ (primary) | - | - | 0 |
Regressions ❌ (secondary) | 0.5% | [0.4%, 0.8%] | 7 |
Improvements ✅ (primary) | -0.4% | [-0.6%, -0.3%] | 12 |
Improvements ✅ (secondary) | -0.7% | [-2.2%, -0.2%] | 9 |
All ❌✅ (primary) | -0.4% | [-0.6%, -0.3%] | 12 |
Also get add nuw
from uN::checked_add
#126852 (Comparison Link)
(instructions:u) | mean | range | count |
---|---|---|---|
Regressions ❌ (primary) | 0.6% | [0.3%, 0.9%] | 4 |
Regressions ❌ (secondary) | 0.4% | [0.3%, 0.4%] | 2 |
Improvements ✅ (primary) | -0.3% | [-0.3%, -0.3%] | 1 |
Improvements ✅ (secondary) | -1.3% | [-1.4%, -0.9%] | 7 |
All ❌✅ (primary) | 0.4% | [-0.3%, 0.9%] | 5 |
ast: Standardize visiting order for attributes and node IDs #125741 (Comparison Link)
(instructions:u) | mean | range | count |
---|---|---|---|
Regressions ❌ (primary) | - | - | 0 |
Regressions ❌ (secondary) | 0.3% | [0.2%, 0.3%] | 3 |
Improvements ✅ (primary) | - | - | 0 |
Improvements ✅ (secondary) | -0.3% | [-0.4%, -0.2%] | 12 |
All ❌✅ (primary) | - | - | 0 |
Rollup of 8 pull requests #126965 (Comparison Link)
(instructions:u) | mean | range | count |
---|---|---|---|
Regressions ❌ (primary) | - | - | 0 |
Regressions ❌ (secondary) | 3.3% | [1.7%, 5.8%] | 9 |
Improvements ✅ (primary) | - | - | 0 |
Improvements ✅ (secondary) | -3.0% | [-5.7%, -0.3%] | 2 |
All ❌✅ (primary) | - | - | 0 |
Remove more PtrToPtr
casts in GVN #126844 (Comparison Link)
(instructions:u) | mean | range | count |
---|---|---|---|
Regressions ❌ (primary) | 1.3% | [0.3%, 2.9%] | 4 |
Regressions ❌ (secondary) | - | - | 0 |
Improvements ✅ (primary) | -0.7% | [-1.1%, -0.4%] | 2 |
Improvements ✅ (secondary) | -0.3% | [-0.3%, -0.3%] | 1 |
All ❌✅ (primary) | 0.6% | [-1.1%, 2.9%] | 6 |
Rollup of 6 pull requests #127014 (Comparison Link)
(instructions:u) | mean | range | count |
---|---|---|---|
Regressions ❌ (primary) | - | - | 0 |
Regressions ❌ (secondary) | 8.2% | [8.2%, 8.2%] | 1 |
Improvements ✅ (primary) | -0.2% | [-0.2%, -0.2%] | 1 |
Improvements ✅ (secondary) | -2.2% | [-5.0%, -0.2%] | 13 |
All ❌✅ (primary) | -0.2% | [-0.2%, -0.2%] | 1 |
Rollup of 6 pull requests #127076 (Comparison Link)
(instructions:u) | mean | range | count |
---|---|---|---|
Regressions ❌ (primary) | 1.4% | [0.6%, 2.1%] | 2 |
Regressions ❌ (secondary) | - | - | 0 |
Improvements ✅ (primary) | -1.8% | [-2.7%, -0.8%] | 2 |
Improvements ✅ (secondary) | -0.7% | [-6.2%, -0.2%] | 17 |
All ❌✅ (primary) | -0.2% | [-2.7%, 2.1%] | 4 |
Rollup of 11 pull requests #127096 (Comparison Link)
(instructions:u) | mean | range | count |
---|---|---|---|
Regressions ❌ (primary) | 0.5% | [0.3%, 0.7%] | 7 |
Regressions ❌ (secondary) | 1.1% | [0.2%, 1.6%] | 7 |
Improvements ✅ (primary) | -3.4% | [-6.2%, -1.2%] | 12 |
Improvements ✅ (secondary) | - | - | 0 |
All ❌✅ (primary) | -1.9% | [-6.2%, 0.7%] | 19 |
Automatically taint InferCtxt when errors are emitted #126996 (Comparison Link)
(instructions:u) | mean | range | count |
---|---|---|---|
Regressions ❌ (primary) | - | - | 0 |
Regressions ❌ (secondary) | 0.5% | [0.4%, 0.9%] | 7 |
Improvements ✅ (primary) | -0.2% | [-0.2%, -0.2%] | 1 |
Improvements ✅ (secondary) | - | - | 0 |
All ❌✅ (primary) | -0.2% | [-0.2%, -0.2%] | 1 |
Avoid MIR bloat in inlining #127113 (Comparison Link)
(instructions:u) | mean | range | count |
---|---|---|---|
Regressions ❌ (primary) | 1.1% | [0.3%, 2.8%] | 6 |
Regressions ❌ (secondary) | 1.6% | [1.5%, 1.9%] | 6 |
Improvements ✅ (primary) | -0.8% | [-2.2%, -0.2%] | 17 |
Improvements ✅ (secondary) | -1.6% | [-4.5%, -0.2%] | 18 |
All ❌✅ (primary) | -0.3% | [-2.2%, 2.8%] | 23 |
add nuw
from uN::checked_add
PtrToPtr
casts in GVNSliceLike
to rustc_type_ir
, use it in the generic solver code (+ some other changes)ty::Expr
arguments in the ty::Expr
Utf8Chunks
expr
matcher for Edition 2024 and add expr_2021
nonterminalreport_return_mismatched_types