Skip to content

Commit 28d3fba

Browse files
Add triage for this week
1 parent 18437e0 commit 28d3fba

File tree

1 file changed

+153
-0
lines changed

1 file changed

+153
-0
lines changed

triage/2025-05-04.md

+153
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,153 @@
1+
# 2025-05-04 Triage Log
2+
3+
A relatively noisy week due to addition of new benchmarks as part of our [2025
4+
benchmark update], and a number of large regressions in a rollup landing late
5+
in the week (and so not yet investigated).
6+
7+
[2025 benchmark update]: https://github.com/rust-lang/rustc-perf/issues/2024
8+
9+
Triage done by **@simulacrum**.
10+
Revision range: [25cdf1f6..62c5f58f](https://perf.rust-lang.org/?start=25cdf1f67463c9365d8d83778c933ec7480e940b&end=62c5f58f57670ce65e7fec34f8c4ba00c27da2d9&absolute=false&stat=instructions%3Au)
11+
12+
**Summary**:
13+
14+
| (instructions:u) | mean | range | count |
15+
|:----------------------------------:|:-----:|:--------------:|:-----:|
16+
| Regressions ❌ <br /> (primary) | 1.9% | [0.2%, 14.4%] | 47 |
17+
| Regressions ❌ <br /> (secondary) | 2.0% | [0.1%, 11.8%] | 156 |
18+
| Improvements ✅ <br /> (primary) | -0.6% | [-3.4%, -0.2%] | 34 |
19+
| Improvements ✅ <br /> (secondary) | -1.6% | [-3.7%, -0.3%] | 20 |
20+
| All ❌✅ (primary) | 0.9% | [-3.4%, 14.4%] | 81 |
21+
22+
2 Regressions, 2 Improvements, 6 Mixed; 3 of them in rollups
23+
31 artifact comparisons made in total
24+
25+
#### Regressions
26+
27+
Introduce Arena::try_alloc_from_iter. [#140023](https://github.com/rust-lang/rust/pull/140023) [(Comparison Link)](https://perf.rust-lang.org/compare.html?start=74509131e85a97353c67c503ea32e148a56cf4bd&end=0fbb922e530399599aab8296ea975cb9e7ed67bf&stat=instructions:u)
28+
29+
| (instructions:u) | mean | range | count |
30+
|:----------------------------------:|:----:|:------------:|:-----:|
31+
| Regressions ❌ <br /> (primary) | 0.3% | [0.3%, 0.4%] | 3 |
32+
| Regressions ❌ <br /> (secondary) | 0.3% | [0.1%, 0.4%] | 15 |
33+
| Improvements ✅ <br /> (primary) | - | - | 0 |
34+
| Improvements ✅ <br /> (secondary) | - | - | 0 |
35+
| All ❌✅ (primary) | 0.3% | [0.3%, 0.4%] | 3 |
36+
37+
Regressions look plausibly real (they've held up for a bit) but given they're
38+
small and limited to just doc builds I'm inclined to accept. It seems plausible
39+
this is just some slight differences in the ABI of the functions here or
40+
similar. Marking as triaged.
41+
42+
Set groundwork for proper const normalization [#140549](https://github.com/rust-lang/rust/pull/140549) [(Comparison Link)](https://perf.rust-lang.org/compare.html?start=3559e0ab0e370b98bc3f9e6b688152c47eb9e6c8&end=1bea580f364c65bd5f7380a1056e150df7b8a1a6&stat=instructions:u)
43+
44+
| (instructions:u) | mean | range | count |
45+
|:----------------------------------:|:----:|:------------:|:-----:|
46+
| Regressions ❌ <br /> (primary) | 0.7% | [0.3%, 1.4%] | 3 |
47+
| Regressions ❌ <br /> (secondary) | 0.5% | [0.1%, 0.6%] | 7 |
48+
| Improvements ✅ <br /> (primary) | - | - | 0 |
49+
| Improvements ✅ <br /> (secondary) | - | - | 0 |
50+
| All ❌✅ (primary) | 0.7% | [0.3%, 1.4%] | 3 |
51+
52+
Mostly what looks like inlining noise. See [comment](https://github.com/rust-lang/rust/pull/140549#issuecomment-2849664075)
53+
for more details.
54+
55+
#### Improvements
56+
57+
perf: delay checking of `#[rustc_no_implicit_autorefs]` in autoref lint [#140406](https://github.com/rust-lang/rust/pull/140406) [(Comparison Link)](https://perf.rust-lang.org/compare.html?start=7c96085b64580af5c5f619384f0e3f082138ff13&end=4824c2bb7445cb2478aab0190c268c939d77a0f6&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) | -1.2% | [-3.4%, -0.2%] | 13 |
64+
| Improvements ✅ <br /> (secondary) | -0.4% | [-0.4%, -0.4%] | 1 |
65+
| All ❌✅ (primary) | -1.2% | [-3.4%, -0.2%] | 13 |
66+
67+
Use a closure instead of three chained iterators [#140464](https://github.com/rust-lang/rust/pull/140464) [(Comparison Link)](https://perf.rust-lang.org/compare.html?start=5fe04cbebd593c6530a21cd7bd0e8e9503b1ffe4&end=d7df5bdf2986e596aeaeec38e732711c69ebbce1&stat=instructions:u)
68+
69+
| (instructions:u) | mean | range | count |
70+
|:----------------------------------:|:-----:|:--------------:|:-----:|
71+
| Regressions ❌ <br /> (primary) | - | - | 0 |
72+
| Regressions ❌ <br /> (secondary) | - | - | 0 |
73+
| Improvements ✅ <br /> (primary) | -0.3% | [-0.6%, -0.2%] | 13 |
74+
| Improvements ✅ <br /> (secondary) | -0.1% | [-0.1%, -0.1%] | 2 |
75+
| All ❌✅ (primary) | -0.3% | [-0.6%, -0.2%] | 13 |
76+
77+
#### Mixed
78+
79+
Rollup of 7 pull requests [#140474](https://github.com/rust-lang/rust/pull/140474) [(Comparison Link)](https://perf.rust-lang.org/compare.html?start=efcbb94dccbe0fcc1076f031f88332db4a6a2a52&end=74509131e85a97353c67c503ea32e148a56cf4bd&stat=instructions:u)
80+
81+
| (instructions:u) | mean | range | count |
82+
|:----------------------------------:|:-----:|:--------------:|:-----:|
83+
| Regressions ❌ <br /> (primary) | 0.3% | [0.3%, 0.3%] | 1 |
84+
| Regressions ❌ <br /> (secondary) | - | - | 0 |
85+
| Improvements ✅ <br /> (primary) | -2.9% | [-2.9%, -2.9%] | 1 |
86+
| Improvements ✅ <br /> (secondary) | -0.2% | [-0.2%, -0.2%] | 2 |
87+
| All ❌✅ (primary) | -1.3% | [-2.9%, 0.3%] | 2 |
88+
89+
Regression is limited to unicode-normalization-0.1.19 and appears within noise
90+
limit for that benchmark. Marking as triaged.
91+
92+
Simplify `LazyAttrTokenStream` [#127516](https://github.com/rust-lang/rust/pull/127516) [(Comparison Link)](https://perf.rust-lang.org/compare.html?start=0fbb922e530399599aab8296ea975cb9e7ed67bf&end=f242d6c26cc6fc187257bd1be9590b4b39632425&stat=instructions:u)
93+
94+
| (instructions:u) | mean | range | count |
95+
|:----------------------------------:|:-----:|:--------------:|:-----:|
96+
| Regressions ❌ <br /> (primary) | - | - | 0 |
97+
| Regressions ❌ <br /> (secondary) | 0.6% | [0.3%, 0.8%] | 7 |
98+
| Improvements ✅ <br /> (primary) | - | - | 0 |
99+
| Improvements ✅ <br /> (secondary) | -2.1% | [-4.0%, -1.4%] | 16 |
100+
| All ❌✅ (primary) | - | - | 0 |
101+
102+
> Improvements outweigh regressions, and all the movement is in secondary benchmarks.
103+
104+
Streamline the `format` macro. [#140188](https://github.com/rust-lang/rust/pull/140188) [(Comparison Link)](https://perf.rust-lang.org/compare.html?start=f242d6c26cc6fc187257bd1be9590b4b39632425&end=427288b3ce2d574847fdb41cc3184c893750e09a&stat=instructions:u)
105+
106+
| (instructions:u) | mean | range | count |
107+
|:----------------------------------:|:-----:|:--------------:|:-----:|
108+
| Regressions ❌ <br /> (primary) | 0.2% | [0.2%, 0.2%] | 1 |
109+
| Regressions ❌ <br /> (secondary) | 1.8% | [1.7%, 1.9%] | 6 |
110+
| Improvements ✅ <br /> (primary) | -0.3% | [-0.4%, -0.1%] | 10 |
111+
| Improvements ✅ <br /> (secondary) | - | - | 0 |
112+
| All ❌✅ (primary) | -0.2% | [-0.4%, 0.2%] | 11 |
113+
114+
> The improvements on primary benchmarks were deemed to outweigh the regressions on secondary benchmarks.
115+
116+
shared-generics: Do not share instantiations that contain local-only types [#138522](https://github.com/rust-lang/rust/pull/138522) [(Comparison Link)](https://perf.rust-lang.org/compare.html?start=6e23095adf9209614a45f7f75fea36dad7b92afb&end=0e517d38ad0e72f93c734b14fabd4bb9b7441de6&stat=instructions:u)
117+
118+
| (instructions:u) | mean | range | count |
119+
|:----------------------------------:|:-----:|:--------------:|:-----:|
120+
| Regressions ❌ <br /> (primary) | 0.9% | [0.4%, 1.5%] | 3 |
121+
| Regressions ❌ <br /> (secondary) | 0.1% | [0.1%, 0.1%] | 1 |
122+
| Improvements ✅ <br /> (primary) | -0.5% | [-0.7%, -0.3%] | 6 |
123+
| Improvements ✅ <br /> (secondary) | -1.0% | [-1.0%, -1.0%] | 1 |
124+
| All ❌✅ (primary) | -0.0% | [-0.7%, 1.5%] | 9 |
125+
126+
> Marking perf as triaged. There's some improvements, some regressions, but the
127+
> regressions look like potentially bimodality -- and where they're possibly
128+
> real hard to justify further digging in. The change seems overall a slight
129+
> improvement on our benchmarks.
130+
131+
Rollup of 9 pull requests [#140596](https://github.com/rust-lang/rust/pull/140596) [(Comparison Link)](https://perf.rust-lang.org/compare.html?start=4824c2bb7445cb2478aab0190c268c939d77a0f6&end=2d5ffc513f1c56b7bc95bacb2519705096e8cc2b&stat=instructions:u)
132+
133+
| (instructions:u) | mean | range | count |
134+
|:----------------------------------:|:-----:|:--------------:|:-----:|
135+
| Regressions ❌ <br /> (primary) | - | - | 0 |
136+
| Regressions ❌ <br /> (secondary) | 0.4% | [0.2%, 0.5%] | 2 |
137+
| Improvements ✅ <br /> (primary) | -1.2% | [-1.2%, -1.2%] | 1 |
138+
| Improvements ✅ <br /> (secondary) | - | - | 0 |
139+
| All ❌✅ (primary) | -1.2% | [-1.2%, -1.2%] | 1 |
140+
141+
Regression triaged. Regressions look like bimodality/noise, not worth further follow up.
142+
143+
Rollup of 7 pull requests [#140633](https://github.com/rust-lang/rust/pull/140633) [(Comparison Link)](https://perf.rust-lang.org/compare.html?start=1bea580f364c65bd5f7380a1056e150df7b8a1a6&end=622ac043764d5d4ffff8de8cf86a1cc938a8a71b&stat=instructions:u)
144+
145+
| (instructions:u) | mean | range | count |
146+
|:----------------------------------:|:-----:|:--------------:|:-----:|
147+
| Regressions ❌ <br /> (primary) | 1.2% | [0.2%, 13.4%] | 77 |
148+
| Regressions ❌ <br /> (secondary) | 1.9% | [0.2%, 11.0%] | 155 |
149+
| Improvements ✅ <br /> (primary) | -1.5% | [-1.5%, -1.5%] | 1 |
150+
| Improvements ✅ <br /> (secondary) | - | - | 0 |
151+
| All ❌✅ (primary) | 1.2% | [-1.5%, 13.4%] | 78 |
152+
153+
Still investigating the root cause as of writing (see comments on the PR).

0 commit comments

Comments
 (0)