Skip to content

Commit 0bccbcf

Browse files
authored
Merge pull request #2474 from Kobzol/triage-2026-05-12
Add 2026-05-12 triage
2 parents 5f99a86 + ea1dbd4 commit 0bccbcf

1 file changed

Lines changed: 144 additions & 0 deletions

File tree

triage/2026/2026-05-12.md

Lines changed: 144 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,144 @@
1+
# 2026-05-12 Triage Log
2+
3+
This week saw a couple of PRs affecting the new trait solver, which is steadily moving forward,
4+
in particular [#156139](https://github.com/rust-lang/rust/pull/156139) was a massive perf. win.
5+
[#156185](https://github.com/rust-lang/rust/pull/156185) optimized visibility computation, resulting
6+
in an up to 8% win on the `typenum` crate.
7+
8+
Triage done by **@Kobzol**.
9+
Revision range: [1d72d7e8..aa31d6d8](https://perf.rust-lang.org/?start=1d72d7e8136faaebad3a85eeed432e6ea1b2ffab&end=aa31d6d8020dcb7c6e6635648d1ca2bc18caf059&absolute=false&stat=instructions%3Au)
10+
11+
**Summary**:
12+
13+
| (instructions:u) | mean | range | count |
14+
|:----------------------------------:|:------:|:---------------:|:-----:|
15+
| Regressions ❌ <br /> (primary) | 0.3% | [0.1%, 0.4%] | 62 |
16+
| Regressions ❌ <br /> (secondary) | 0.5% | [0.1%, 1.5%] | 77 |
17+
| Improvements ✅ <br /> (primary) | -1.7% | [-8.8%, -0.2%] | 18 |
18+
| Improvements ✅ <br /> (secondary) | -13.6% | [-85.6%, -0.0%] | 34 |
19+
| All ❌✅ (primary) | -0.2% | [-8.8%, 0.4%] | 80 |
20+
21+
22+
2 Regressions, 2 Improvements, 5 Mixed; 4 of them in rollups
23+
31 artifact comparisons made in total
24+
25+
#### Regressions
26+
27+
Lint unused pub items in binary crates [#149509](https://github.com/rust-lang/rust/pull/149509) [(Comparison Link)](https://perf.rust-lang.org/compare.html?start=4ddd4538a881317c622ed674b08300b8fc8dabdd&end=0e5924a4a0b57f2c6bc8cac93f59281e68541a91&stat=instructions:u)
28+
29+
| (instructions:u) | mean | range | count |
30+
|:----------------------------------:|:----:|:------------:|:-----:|
31+
| Regressions ❌ <br /> (primary) | 0.3% | [0.1%, 0.4%] | 4 |
32+
| Regressions ❌ <br /> (secondary) | 0.1% | [0.1%, 0.1%] | 1 |
33+
| Improvements ✅ <br /> (primary) | - | - | 0 |
34+
| Improvements ✅ <br /> (secondary) | - | - | 0 |
35+
| All ❌✅ (primary) | 0.3% | [0.1%, 0.4%] | 4 |
36+
37+
- The regression looks genuine, but it is very small. The compiler now runs a new allow-by-default lint, so that is expected.
38+
- Marked as triaged.
39+
40+
@rustbot label: +perf-regression-triaged
41+
42+
-Zassumptions-on-binders [#155887](https://github.com/rust-lang/rust/pull/155887) [(Comparison Link)](https://perf.rust-lang.org/compare.html?start=aa31d6d8020dcb7c6e6635648d1ca2bc18caf059&end=29b7590130c83542a095cdf1323ed0f78eec2bb8&stat=instructions:u)
43+
44+
| (instructions:u) | mean | range | count |
45+
|:----------------------------------:|:-----:|:--------------:|:-----:|
46+
| Regressions ❌ <br /> (primary) | 0.2% | [0.1%, 0.2%] | 10 |
47+
| Regressions ❌ <br /> (secondary) | 0.5% | [0.1%, 1.1%] | 25 |
48+
| Improvements ✅ <br /> (primary) | - | - | 0 |
49+
| Improvements ✅ <br /> (secondary) | -0.0% | [-0.0%, -0.0%] | 1 |
50+
| All ❌✅ (primary) | 0.2% | [0.1%, 0.2%] | 10 |
51+
52+
- Tiny regressions across the board, mostly in trait-heavy crates and the new trait solver.
53+
- Not marking as triaged yet.
54+
55+
#### Improvements
56+
57+
Rollup of 12 pull requests [#156267](https://github.com/rust-lang/rust/pull/156267) [(Comparison Link)](https://perf.rust-lang.org/compare.html?start=0e5924a4a0b57f2c6bc8cac93f59281e68541a91&end=32bd660612bf1c61bdf290a3ec643c8538b8357d&stat=instructions:u)
58+
59+
| (instructions:u) | mean | range | count |
60+
|:----------------------------------:|:-----:|:--------------:|:-----:|
61+
| Regressions ❌ <br /> (primary) | - | - | 0 |
62+
| Regressions ❌ <br /> (secondary) | - | - | 0 |
63+
| Improvements ✅ <br /> (primary) | -0.3% | [-0.3%, -0.2%] | 8 |
64+
| Improvements ✅ <br /> (secondary) | -0.2% | [-0.2%, -0.2%] | 2 |
65+
| All ❌✅ (primary) | -0.3% | [-0.3%, -0.2%] | 8 |
66+
67+
68+
resolve: Evaluate private visibilities eagerly in eff vis computation [#156185](https://github.com/rust-lang/rust/pull/156185) [(Comparison Link)](https://perf.rust-lang.org/compare.html?start=d1961bebe091816d8ce9771f29ad471dda398f5d&end=99eed207b47aca1fec5c665531db8e948a92d0ca&stat=instructions:u)
69+
70+
| (instructions:u) | mean | range | count |
71+
|:----------------------------------:|:-----:|:--------------:|:-----:|
72+
| Regressions ❌ <br /> (primary) | - | - | 0 |
73+
| Regressions ❌ <br /> (secondary) | - | - | 0 |
74+
| Improvements ✅ <br /> (primary) | -2.5% | [-8.6%, -0.2%] | 11 |
75+
| Improvements ✅ <br /> (secondary) | -1.8% | [-2.5%, -0.3%] | 13 |
76+
| All ❌✅ (primary) | -2.5% | [-8.6%, -0.2%] | 11 |
77+
78+
79+
#### Mixed
80+
81+
Short-circuit `calculate_fallback_to_f32` when no float vars [#156139](https://github.com/rust-lang/rust/pull/156139) [(Comparison Link)](https://perf.rust-lang.org/compare.html?start=1d72d7e8136faaebad3a85eeed432e6ea1b2ffab&end=cb40c25f6aebb637163d26bf76a680ed6e5d1eda&stat=instructions:u)
82+
83+
| (instructions:u) | mean | range | count |
84+
|:----------------------------------:|:------:|:---------------:|:-----:|
85+
| Regressions ❌ <br /> (primary) | - | - | 0 |
86+
| Regressions ❌ <br /> (secondary) | 0.1% | [0.0%, 0.1%] | 4 |
87+
| Improvements ✅ <br /> (primary) | - | - | 0 |
88+
| Improvements ✅ <br /> (secondary) | -21.0% | [-87.6%, -0.0%] | 18 |
89+
| All ❌✅ (primary) | - | - | 0 |
90+
91+
- Massive wins in the new trait solver.
92+
- Already marked as triaged.
93+
94+
Rollup of 7 pull requests [#156190](https://github.com/rust-lang/rust/pull/156190) [(Comparison Link)](https://perf.rust-lang.org/compare.html?start=740679e1f5554a3c1695317e084809e3fceb9825&end=e95e73209faf6ead2bc5c7636e45e589a751b79b&stat=instructions:u)
95+
96+
| (instructions:u) | mean | range | count |
97+
|:----------------------------------:|:-----:|:--------------:|:-----:|
98+
| Regressions ❌ <br /> (primary) | 0.2% | [0.1%, 0.3%] | 3 |
99+
| Regressions ❌ <br /> (secondary) | 0.5% | [0.2%, 0.7%] | 25 |
100+
| Improvements ✅ <br /> (primary) | -0.3% | [-0.3%, -0.3%] | 1 |
101+
| Improvements ✅ <br /> (secondary) | -1.2% | [-1.8%, -0.5%] | 2 |
102+
| All ❌✅ (primary) | 0.1% | [-0.3%, 0.3%] | 4 |
103+
104+
- Regression caused by [#156172](https://github.com/rust-lang/rust/pull/156172), discussion is continuing there.
105+
- Marked as triaged.
106+
107+
Rollup of 15 pull requests [#156217](https://github.com/rust-lang/rust/pull/156217) [(Comparison Link)](https://perf.rust-lang.org/compare.html?start=e95e73209faf6ead2bc5c7636e45e589a751b79b&end=ba1a955819d72439dc59d5f73ad7a6a01e3fcdfe&stat=instructions:u)
108+
109+
| (instructions:u) | mean | range | count |
110+
|:----------------------------------:|:-----:|:--------------:|:-----:|
111+
| Regressions ❌ <br /> (primary) | - | - | 0 |
112+
| Regressions ❌ <br /> (secondary) | 0.6% | [0.1%, 1.0%] | 10 |
113+
| Improvements ✅ <br /> (primary) | - | - | 0 |
114+
| Improvements ✅ <br /> (secondary) | -0.0% | [-0.1%, -0.0%] | 3 |
115+
| All ❌✅ (primary) | - | - | 0 |
116+
117+
- The wg-grammar regression was caused by [#155808](https://github.com/rust-lang/rust/pull/155808).
118+
- Marked as triaged.
119+
120+
Improve caching by introducing `TypingMode::ErasedNotCoherence` [#155443](https://github.com/rust-lang/rust/pull/155443) [(Comparison Link)](https://perf.rust-lang.org/compare.html?start=ba1a955819d72439dc59d5f73ad7a6a01e3fcdfe&end=365c0e1d7a614ca94cb48431dcd2bc6d3b645db1&stat=instructions:u)
121+
122+
| (instructions:u) | mean | range | count |
123+
|:----------------------------------:|:-----:|:---------------:|:-----:|
124+
| Regressions ❌ <br /> (primary) | - | - | 0 |
125+
| Regressions ❌ <br /> (secondary) | 2.5% | [0.0%, 16.6%] | 18 |
126+
| Improvements ✅ <br /> (primary) | - | - | 0 |
127+
| Improvements ✅ <br /> (secondary) | -9.0% | [-26.2%, -0.1%] | 11 |
128+
| All ❌✅ (primary) | - | - | 0 |
129+
130+
- This only really affects the new solver, where it is a big win for `wg-grammar`, though also a big regression for `deeply-nested-multi`.
131+
- Marked as triaged.
132+
133+
Rollup of 4 pull requests [#156324](https://github.com/rust-lang/rust/pull/156324) [(Comparison Link)](https://perf.rust-lang.org/compare.html?start=f2b291d902bfde7d7f209fc3a64908134bcef201&end=8068e2fc9afa8c888336b12db01987be768785f9&stat=instructions:u)
134+
135+
| (instructions:u) | mean | range | count |
136+
|:----------------------------------:|:-----:|:--------------:|:-----:|
137+
| Regressions ❌ <br /> (primary) | 0.3% | [0.3%, 0.3%] | 1 |
138+
| Regressions ❌ <br /> (secondary) | 0.3% | [0.2%, 0.3%] | 3 |
139+
| Improvements ✅ <br /> (primary) | - | - | 0 |
140+
| Improvements ✅ <br /> (secondary) | -1.5% | [-1.5%, -1.5%] | 1 |
141+
| All ❌✅ (primary) | 0.3% | [0.3%, 0.3%] | 1 |
142+
143+
- Tiny regression on hyper `doc` benchmark and the `bitmaps` benchmark with the new trait solver, overall a wash. I don't think it's worth digging further.
144+
- Marked as triaged.

0 commit comments

Comments
 (0)