Skip to content

Commit 7b92a85

Browse files
authored
Merge pull request #2135 from Kobzol/triage-2025-05-20
Triage 2025 05 20
2 parents 9b0e4a2 + 07f5198 commit 7b92a85

File tree

1 file changed

+151
-0
lines changed

1 file changed

+151
-0
lines changed

triage/2025-05-20.md

Lines changed: 151 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,151 @@
1+
# 2025-05-20 Triage Log
2+
3+
A relatively quiet week, likely caused by not that many PRs being merged as many contributors
4+
were at RustWeek and the All Hands event. There were several nice wins in trait solving;
5+
the benchmark suite now contains benchmarks that use the new trait solver, so we can now
6+
focus on optimizing its performance in the near future.
7+
8+
Triage done by **@kobzol**.
9+
Revision range: [718ddf66..59372f2c](https://perf.rust-lang.org/?start=718ddf660e6a1802c39b4962cf7eaa4db57025ef&end=59372f2c81ba74554d9a71b12a4ed7f29adb33a2&absolute=false&stat=instructions%3Au)
10+
11+
**Summary**:
12+
13+
| (instructions:u) | mean | range | count |
14+
|:----------------------------------:|:-----:|:--------------:|:-----:|
15+
| Regressions ❌ <br /> (primary) | 0.6% | [0.1%, 1.8%] | 25 |
16+
| Regressions ❌ <br /> (secondary) | 0.9% | [0.1%, 3.1%] | 23 |
17+
| Improvements ✅ <br /> (primary) | -0.3% | [-0.6%, -0.1%] | 33 |
18+
| Improvements ✅ <br /> (secondary) | -2.2% | [-9.2%, -0.1%] | 26 |
19+
| All ❌✅ (primary) | 0.1% | [-0.6%, 1.8%] | 58 |
20+
21+
22+
2 Regressions, 5 Improvements, 3 Mixed; 3 of them in rollups
23+
41 artifact comparisons made in total
24+
25+
#### Regressions
26+
27+
Remove manual WF hack [#140557](https://github.com/rust-lang/rust/pull/140557) [(Comparison Link)](https://perf.rust-lang.org/compare.html?start=6d1875f99b2d5c1499410505f4233fbf8dbdc23b&end=7e19eef048ba58c28c70afbf5f95da4829c15796&stat=instructions:u)
28+
29+
| (instructions:u) | mean | range | count |
30+
|:----------------------------------:|:----:|:------------:|:-----:|
31+
| Regressions ❌ <br /> (primary) | 0.3% | [0.1%, 0.6%] | 34 |
32+
| Regressions ❌ <br /> (secondary) | 0.2% | [0.1%, 0.2%] | 5 |
33+
| Improvements ✅ <br /> (primary) | - | - | 0 |
34+
| Improvements ✅ <br /> (secondary) | - | - | 0 |
35+
| All ❌✅ (primary) | 0.3% | [0.1%, 0.6%] | 34 |
36+
37+
- Small genuine regression, but the PR removed hack from the type system code, which is worth it.
38+
- Marked as triaged.
39+
40+
Add `std::io::Seek` instance for `std::io::Take` [#138023](https://github.com/rust-lang/rust/pull/138023) [(Comparison Link)](https://perf.rust-lang.org/compare.html?start=59372f2c81ba74554d9a71b12a4ed7f29adb33a2&end=60dabef95a3de3ec974dcb50926e4bfe743f078f&stat=instructions:u)
41+
42+
| (instructions:u) | mean | range | count |
43+
|:----------------------------------:|:----:|:------------:|:-----:|
44+
| Regressions ❌ <br /> (primary) | 2.0% | [1.0%, 3.0%] | 2 |
45+
| Regressions ❌ <br /> (secondary) | 1.0% | [1.0%, 1.0%] | 1 |
46+
| Improvements ✅ <br /> (primary) | - | - | 0 |
47+
| Improvements ✅ <br /> (secondary) | - | - | 0 |
48+
| All ❌✅ (primary) | 2.0% | [1.0%, 3.0%] | 2 |
49+
50+
- Noise produced by newly added benchmarks.
51+
- Marked as triaged.
52+
53+
#### Improvements
54+
55+
Rollup of 7 pull requests [#141011](https://github.com/rust-lang/rust/pull/141011) [(Comparison Link)](https://perf.rust-lang.org/compare.html?start=2a5da7acd4c3eae638aa1c46f3a537940e60a0e4&end=d163a28381c297a56417d4a5dfe88c6c65429265&stat=instructions:u)
56+
57+
| (instructions:u) | mean | range | count |
58+
|:----------------------------------:|:-----:|:--------------:|:-----:|
59+
| Regressions ❌ <br /> (primary) | - | - | 0 |
60+
| Regressions ❌ <br /> (secondary) | - | - | 0 |
61+
| Improvements ✅ <br /> (primary) | -0.8% | [-0.9%, -0.8%] | 4 |
62+
| Improvements ✅ <br /> (secondary) | -0.4% | [-0.6%, -0.2%] | 8 |
63+
| All ❌✅ (primary) | -0.8% | [-0.9%, -0.8%] | 4 |
64+
65+
66+
trait_sel: deep reject `match_normalize_trait_ref` [#140978](https://github.com/rust-lang/rust/pull/140978) [(Comparison Link)](https://perf.rust-lang.org/compare.html?start=16d2276fa6fccb0cc239a542d4c3f0eb46f660ec&end=c8bda740ea5c21af42fe4afa907f89805ab2b905&stat=instructions:u)
67+
68+
| (instructions:u) | mean | range | count |
69+
|:----------------------------------:|:-----:|:--------------:|:-----:|
70+
| Regressions ❌ <br /> (primary) | - | - | 0 |
71+
| Regressions ❌ <br /> (secondary) | - | - | 0 |
72+
| Improvements ✅ <br /> (primary) | - | - | 0 |
73+
| Improvements ✅ <br /> (secondary) | -5.7% | [-9.3%, -0.1%] | 9 |
74+
| All ❌✅ (primary) | - | - | 0 |
75+
76+
77+
Rollup of 8 pull requests [#141113](https://github.com/rust-lang/rust/pull/141113) [(Comparison Link)](https://perf.rust-lang.org/compare.html?start=b0e925903a04fc3b2e0903ce6110938e871c61a1&end=a43b8d1d2b10bf4d9e9d935aed497f7ebbeeb6e4&stat=instructions:u)
78+
79+
| (instructions:u) | mean | range | count |
80+
|:----------------------------------:|:-----:|:--------------:|:-----:|
81+
| Regressions ❌ <br /> (primary) | - | - | 0 |
82+
| Regressions ❌ <br /> (secondary) | - | - | 0 |
83+
| Improvements ✅ <br /> (primary) | -0.1% | [-0.1%, -0.1%] | 4 |
84+
| Improvements ✅ <br /> (secondary) | -0.0% | [-0.0%, -0.0%] | 2 |
85+
| All ❌✅ (primary) | -0.1% | [-0.1%, -0.1%] | 4 |
86+
87+
88+
move expensive layout sanity check to debug assertions [#141039](https://github.com/rust-lang/rust/pull/141039) [(Comparison Link)](https://perf.rust-lang.org/compare.html?start=16244bc37a6ff610daa38afcddfc1a8bb226702e&end=ac17c3486c6fdfbb0c3c18b99f3d8dfbff625d29&stat=instructions:u)
89+
90+
| (instructions:u) | mean | range | count |
91+
|:----------------------------------:|:-----:|:--------------:|:-----:|
92+
| Regressions ❌ <br /> (primary) | - | - | 0 |
93+
| Regressions ❌ <br /> (secondary) | - | - | 0 |
94+
| Improvements ✅ <br /> (primary) | -0.2% | [-0.3%, -0.1%] | 22 |
95+
| Improvements ✅ <br /> (secondary) | -0.7% | [-1.6%, -0.4%] | 8 |
96+
| All ❌✅ (primary) | -0.2% | [-0.3%, -0.1%] | 22 |
97+
98+
99+
Fast path for `register_region_obligation` [#141129](https://github.com/rust-lang/rust/pull/141129) [(Comparison Link)](https://perf.rust-lang.org/compare.html?start=ae3b909a323aa771db8ee3919c1454b77db05fbf&end=7205fc537d0fe8c3c2560b313e54fcb91ab6f3d1&stat=instructions:u)
100+
101+
| (instructions:u) | mean | range | count |
102+
|:----------------------------------:|:-----:|:--------------:|:-----:|
103+
| Regressions ❌ <br /> (primary) | - | - | 0 |
104+
| Regressions ❌ <br /> (secondary) | - | - | 0 |
105+
| Improvements ✅ <br /> (primary) | -0.2% | [-0.3%, -0.1%] | 30 |
106+
| Improvements ✅ <br /> (secondary) | -0.5% | [-1.0%, -0.0%] | 12 |
107+
| All ❌✅ (primary) | -0.2% | [-0.3%, -0.1%] | 30 |
108+
109+
110+
#### Mixed
111+
112+
Use the new solver in the `impossible_predicates` [#136988](https://github.com/rust-lang/rust/pull/136988) [(Comparison Link)](https://perf.rust-lang.org/compare.html?start=d163a28381c297a56417d4a5dfe88c6c65429265&end=c4e05e53d19b550a358ee8b2e29ecd5a11075800&stat=instructions:u)
113+
114+
| (instructions:u) | mean | range | count |
115+
|:----------------------------------:|:-----:|:--------------:|:-----:|
116+
| Regressions ❌ <br /> (primary) | 0.9% | [0.4%, 1.1%] | 5 |
117+
| Regressions ❌ <br /> (secondary) | 0.5% | [0.3%, 1.0%] | 27 |
118+
| Improvements ✅ <br /> (primary) | -0.1% | [-0.1%, -0.1%] | 1 |
119+
| Improvements ✅ <br /> (secondary) | -0.1% | [-0.2%, -0.1%] | 6 |
120+
| All ❌✅ (primary) | 0.8% | [-0.1%, 1.1%] | 6 |
121+
122+
- The regressions are mostly in `helloworld` and tiny benchmarks, and they are relatively small.
123+
- We generally expect the perf. of the new solver to improve over time.
124+
- Marked as triaged.
125+
126+
Optimize `ToString` implementation for integers [#136264](https://github.com/rust-lang/rust/pull/136264) [(Comparison Link)](https://perf.rust-lang.org/compare.html?start=c4e05e53d19b550a358ee8b2e29ecd5a11075800&end=d97326eabfc3b2c33abcb08d6bc117aefa697cb7&stat=instructions:u)
127+
128+
| (instructions:u) | mean | range | count |
129+
|:----------------------------------:|:-----:|:--------------:|:-----:|
130+
| Regressions ❌ <br /> (primary) | 0.7% | [0.3%, 1.1%] | 2 |
131+
| Regressions ❌ <br /> (secondary) | - | - | 0 |
132+
| Improvements ✅ <br /> (primary) | -0.2% | [-0.2%, -0.2%] | 2 |
133+
| Improvements ✅ <br /> (secondary) | - | - | 0 |
134+
| All ❌✅ (primary) | 0.3% | [-0.2%, 1.1%] | 4 |
135+
136+
- Regression on a single benchmark that is new and doesn't have proper noise bounds yet.
137+
- Also a nice win on the `fmt-write-str` runtime benchmark, which should be expected here!
138+
- Marked as triaged.
139+
140+
Rollup of 8 pull requests [#141232](https://github.com/rust-lang/rust/pull/141232) [(Comparison Link)](https://perf.rust-lang.org/compare.html?start=b53e5c9db04c89fa15c96f03ae2e0c538b598940&end=4455c8937007f3cc3c078375a335d86dbab391ce&stat=instructions:u)
141+
142+
| (instructions:u) | mean | range | count |
143+
|:----------------------------------:|:-----:|:--------------:|:-----:|
144+
| Regressions ❌ <br /> (primary) | 0.8% | [0.4%, 1.2%] | 8 |
145+
| Regressions ❌ <br /> (secondary) | 0.9% | [0.2%, 3.2%] | 15 |
146+
| Improvements ✅ <br /> (primary) | - | - | 0 |
147+
| Improvements ✅ <br /> (secondary) | -0.7% | [-1.0%, -0.0%] | 4 |
148+
| All ❌✅ (primary) | 0.8% | [0.4%, 1.2%] | 8 |
149+
150+
- The binary size and the biggest icount regressions come from [#140628](https://github.com/rust-lang/rust/pull/140628).
151+
- Marked as triaged, following up on #140628.

0 commit comments

Comments
 (0)