Skip to content

Commit 9c75005

Browse files
Merge pull request #2062 from Mark-Simulacrum/triage
Add triage for this week
2 parents 80556a3 + 3aee6b5 commit 9c75005

File tree

1 file changed

+144
-0
lines changed

1 file changed

+144
-0
lines changed

triage/2025-03-24.md

Lines changed: 144 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,144 @@
1+
# 2025-03-25 Triage Log
2+
3+
A nearly noise-free week, which is exciting, with a number of fairly large
4+
improvements landing for a cumulative average speed up 0.5%, possibly larger if
5+
we ignore the likely to be fixed or reverted regressions from
6+
[#138674](https://github.com/rust-lang/rust/pull/138674).
7+
8+
Triage done by **@simulacrum**.
9+
Revision range: [493c38ba..4510e86a](https://perf.rust-lang.org/?start=493c38ba371929579fe136df26eccd9516347c7a&end=4510e86a41388733675465a8647d4235f3bf2023&absolute=false&stat=instructions%3Au)
10+
11+
**Summary**:
12+
13+
| (instructions:u) | mean | range | count |
14+
|:----------------------------------:|:-----:|:--------------:|:-----:|
15+
| Regressions ❌ <br /> (primary) | 3.4% | [0.2%, 13.5%] | 17 |
16+
| Regressions ❌ <br /> (secondary) | 2.2% | [0.2%, 6.9%] | 38 |
17+
| Improvements ✅ <br /> (primary) | -1.0% | [-4.9%, -0.1%] | 135 |
18+
| Improvements ✅ <br /> (secondary) | -1.4% | [-4.3%, -0.2%] | 118 |
19+
| All ❌✅ (primary) | -0.5% | [-4.9%, 13.5%] | 152 |
20+
21+
22+
3 Regressions, 4 Improvements, 2 Mixed; 3 of them in rollups
23+
35 artifact comparisons made in total
24+
25+
#### Regressions
26+
27+
Rollup of 10 pull requests [#138693](https://github.com/rust-lang/rust/pull/138693) [(Comparison Link)](https://perf.rust-lang.org/compare.html?start=c4b38a596767c9c6275c937cf3a2d4b9612b4875&end=a7fc463dd8fbeca800d4b3efc501069502cffe64&stat=instructions:u)
28+
29+
| (instructions:u) | mean | range | count |
30+
|:----------------------------------:|:----:|:-------------:|:-----:|
31+
| Regressions ❌ <br /> (primary) | 6.8% | [0.5%, 14.7%] | 10 |
32+
| Regressions ❌ <br /> (secondary) | 3.2% | [0.2%, 9.5%] | 32 |
33+
| Improvements ✅ <br /> (primary) | - | - | 0 |
34+
| Improvements ✅ <br /> (secondary) | - | - | 0 |
35+
| All ❌✅ (primary) | 6.8% | [0.5%, 14.7%] | 10 |
36+
37+
Significant regression in query methods due to
38+
https://github.com/rust-lang/rust/pull/138674, @oli-obk is bisecting which of
39+
the changes actually caused it (it should have been a no-op PR).
40+
41+
expand: Leave traces when expanding `cfg_attr` attributes [#138515](https://github.com/rust-lang/rust/pull/138515) [(Comparison Link)](https://perf.rust-lang.org/compare.html?start=d8e44b722a93e55cbc9a8188dfbfe3faf1226096&end=78948ac259253ce89effca1e8bb64d16f4684aa4&stat=instructions:u)
42+
43+
| (instructions:u) | mean | range | count |
44+
|:----------------------------------:|:----:|:------------:|:-----:|
45+
| Regressions ❌ <br /> (primary) | 0.4% | [0.1%, 1.8%] | 29 |
46+
| Regressions ❌ <br /> (secondary) | - | - | 0 |
47+
| Improvements ✅ <br /> (primary) | - | - | 0 |
48+
| Improvements ✅ <br /> (secondary) | - | - | 0 |
49+
| All ❌✅ (primary) | 0.4% | [0.1%, 1.8%] | 29 |
50+
51+
Slight regressions are expected as we're preserving more information for later
52+
in the compiler (see comment in https://github.com/rust-lang/rust/pull/138515#issuecomment-2726426176).
53+
54+
Only use the new node hashmap for anonymous nodes [#138629](https://github.com/rust-lang/rust/pull/138629) [(Comparison Link)](https://perf.rust-lang.org/compare.html?start=90f5eab952728ac6edcf529a171f7de5c25e5d49&end=4510e86a41388733675465a8647d4235f3bf2023&stat=instructions:u)
55+
56+
| (instructions:u) | mean | range | count |
57+
|:----------------------------------:|:-----:|:--------------:|:-----:|
58+
| Regressions ❌ <br /> (primary) | 0.3% | [0.1%, 0.5%] | 31 |
59+
| Regressions ❌ <br /> (secondary) | 0.4% | [0.1%, 0.8%] | 17 |
60+
| Improvements ✅ <br /> (primary) | - | - | 0 |
61+
| Improvements ✅ <br /> (secondary) | -0.2% | [-0.2%, -0.2%] | 1 |
62+
| All ❌✅ (primary) | 0.3% | [0.1%, 0.5%] | 31 |
63+
64+
Perf turns on incremental-verify-ich, but this should have no effect on builds with that turned off.
65+
66+
#### Improvements
67+
68+
Rollup of 7 pull requests [#138630](https://github.com/rust-lang/rust/pull/138630) [(Comparison Link)](https://perf.rust-lang.org/compare.html?start=493c38ba371929579fe136df26eccd9516347c7a&end=259fdb521200c9abba547302fc2c826479ef26b2&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) | -0.1% | [-0.2%, -0.1%] | 5 |
75+
| Improvements ✅ <br /> (secondary) | -0.4% | [-0.7%, -0.2%] | 4 |
76+
| All ❌✅ (primary) | -0.1% | [-0.2%, -0.1%] | 5 |
77+
78+
79+
Represent diagnostic side effects as dep nodes [#122156](https://github.com/rust-lang/rust/pull/122156) [(Comparison Link)](https://perf.rust-lang.org/compare.html?start=a7fc463dd8fbeca800d4b3efc501069502cffe64&end=1aeb99d248e1b0069110cb03c6f1dcc7b36fd7f3&stat=instructions:u)
80+
81+
| (instructions:u) | mean | range | count |
82+
|:----------------------------------:|:-----:|:--------------:|:-----:|
83+
| Regressions ❌ <br /> (primary) | - | - | 0 |
84+
| Regressions ❌ <br /> (secondary) | - | - | 0 |
85+
| Improvements ✅ <br /> (primary) | -0.7% | [-1.4%, -0.2%] | 117 |
86+
| Improvements ✅ <br /> (secondary) | -0.9% | [-1.6%, -0.0%] | 37 |
87+
| All ❌✅ (primary) | -0.7% | [-1.4%, -0.2%] | 117 |
88+
89+
90+
Rollup of 10 pull requests [#138873](https://github.com/rust-lang/rust/pull/138873) [(Comparison Link)](https://perf.rust-lang.org/compare.html?start=7290b04b0a46de2118968aa556bfc0970aac6661&end=ae8ab87de4d8caab5d91a027bc19bb5d5e8a3691&stat=instructions:u)
91+
92+
| (instructions:u) | mean | range | count |
93+
|:----------------------------------:|:-----:|:--------------:|:-----:|
94+
| Regressions ❌ <br /> (primary) | 0.1% | [0.1%, 0.1%] | 1 |
95+
| Regressions ❌ <br /> (secondary) | - | - | 0 |
96+
| Improvements ✅ <br /> (primary) | -2.2% | [-4.3%, -0.2%] | 20 |
97+
| Improvements ✅ <br /> (secondary) | -1.3% | [-3.7%, -0.2%] | 98 |
98+
| All ❌✅ (primary) | -2.1% | [-4.3%, 0.1%] | 21 |
99+
100+
101+
Optimize hash map operations in the query system [#115747](https://github.com/rust-lang/rust/pull/115747) [(Comparison Link)](https://perf.rust-lang.org/compare.html?start=b95aac6a98e43ee9d47cd05cb2d476610c51dcb7&end=90f5eab952728ac6edcf529a171f7de5c25e5d49&stat=instructions:u)
102+
103+
| (instructions:u) | mean | range | count |
104+
|:----------------------------------:|:-----:|:--------------:|:-----:|
105+
| Regressions ❌ <br /> (primary) | - | - | 0 |
106+
| Regressions ❌ <br /> (secondary) | - | - | 0 |
107+
| Improvements ✅ <br /> (primary) | -0.2% | [-0.4%, -0.1%] | 20 |
108+
| Improvements ✅ <br /> (secondary) | -0.2% | [-0.3%, -0.1%] | 24 |
109+
| All ❌✅ (primary) | -0.2% | [-0.4%, -0.1%] | 20 |
110+
111+
112+
#### Mixed
113+
114+
Consider fields to be inhabited if they are unstable [#133889](https://github.com/rust-lang/rust/pull/133889) [(Comparison Link)](https://perf.rust-lang.org/compare.html?start=87e60a7d285f8ea560189024f85f2b194d1f168f&end=d8e44b722a93e55cbc9a8188dfbfe3faf1226096&stat=instructions:u)
115+
116+
| (instructions:u) | mean | range | count |
117+
|:----------------------------------:|:-----:|:--------------:|:-----:|
118+
| Regressions ❌ <br /> (primary) | 0.2% | [0.2%, 0.2%] | 3 |
119+
| Regressions ❌ <br /> (secondary) | 1.4% | [0.3%, 1.9%] | 11 |
120+
| Improvements ✅ <br /> (primary) | -0.0% | [-0.0%, -0.0%] | 1 |
121+
| Improvements ✅ <br /> (secondary) | - | - | 0 |
122+
| All ❌✅ (primary) | 0.1% | [-0.0%, 0.2%] | 4 |
123+
124+
This is a soundness fix and the regression is limited to our stress test for this area of the code:
125+
126+
> The perf diff is in the match exhaustiveness stress-test. I don't think we're
127+
> running any new code for this test, but it's always very sensitive to things
128+
> like inlining decisions so I'm not surprised. Good to know, and ok to ignore.
129+
130+
(https://github.com/rust-lang/rust/pull/133889)
131+
132+
Reduce FormattingOptions to 64 bits [#136974](https://github.com/rust-lang/rust/pull/136974) [(Comparison Link)](https://perf.rust-lang.org/compare.html?start=db687889a5833381b8b02738a1af93a09a97ba16&end=0ce1369bde8ea61c0286f6e3e35e38fca569a50b&stat=instructions:u)
133+
134+
| (instructions:u) | mean | range | count |
135+
|:----------------------------------:|:-----:|:--------------:|:-----:|
136+
| Regressions ❌ <br /> (primary) | - | - | 0 |
137+
| Regressions ❌ <br /> (secondary) | 0.2% | [0.2%, 0.2%] | 3 |
138+
| Improvements ✅ <br /> (primary) | -0.4% | [-0.5%, -0.2%] | 7 |
139+
| Improvements ✅ <br /> (secondary) | -1.5% | [-1.5%, -1.5%] | 1 |
140+
| All ❌✅ (primary) | -0.4% | [-0.5%, -0.2%] | 7 |
141+
142+
Regressions are limited to the `coercions` secondary benchmark, which sometimes
143+
has natural bimodality. It doesn't seem worth further investigation into this
144+
regression given the limited regression.

0 commit comments

Comments
 (0)