Skip to content

Commit 172ce68

Browse files
authored
Merge pull request #2086 from rylev/perf-2025-04-29
Add perf triage for 2025-04-29
2 parents e2bab11 + 7485343 commit 172ce68

File tree

1 file changed

+144
-0
lines changed

1 file changed

+144
-0
lines changed

triage/2025-04-29.md

+144
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,144 @@
1+
# 2025-04-29 Triage Log
2+
3+
Strange week with lots of noise peeking through the performance runs. The only really significant change was a performance improvement that comes from allowing out of order encoding of the dep graph.
4+
5+
Triage done by **@rylev**.
6+
Revision range: [8f2819b0..25cdf1f6](https://perf.rust-lang.org/?start=8f2819b0e3428d0aee05fa60e91e0211c2aea053&end=25cdf1f67463c9365d8d83778c933ec7480e940b&absolute=false&stat=instructions%3Au)
7+
8+
**Summary**:
9+
10+
| (instructions:u) | mean | range | count |
11+
|:----------------------------------:|:-----:|:--------------:|:-----:|
12+
| Regressions ❌ <br /> (primary) | 0.5% | [0.1%, 3.0%] | 77 |
13+
| Regressions ❌ <br /> (secondary) | 0.6% | [0.1%, 2.4%] | 77 |
14+
| Improvements ✅ <br /> (primary) | -0.7% | [-1.3%, -0.2%] | 106 |
15+
| Improvements ✅ <br /> (secondary) | -0.7% | [-1.2%, -0.2%] | 29 |
16+
| All ❌✅ (primary) | -0.2% | [-1.3%, 3.0%] | 183 |
17+
18+
19+
4 Regressions, 2 Improvements, 4 Mixed; 2 of them in rollups
20+
38 artifact comparisons made in total
21+
22+
#### Regressions
23+
24+
Refactor git change detection in bootstrap [#138591](https://github.com/rust-lang/rust/pull/138591) [(Comparison Link)](https://perf.rust-lang.org/compare.html?start=1a5bf12f6586d724ed5ff40e58e06c0233560c0e&end=645d0ad2a4f145ae576e442ec5c73c0f8eed829b&stat=instructions:u)
25+
26+
| (instructions:u) | mean | range | count |
27+
|:----------------------------------:|:-----:|:--------------:|:-----:|
28+
| Regressions ❌ <br /> (primary) | 0.2% | [0.1%, 0.3%] | 13 |
29+
| Regressions ❌ <br /> (secondary) | 0.3% | [0.2%, 0.6%] | 42 |
30+
| Improvements ✅ <br /> (primary) | -0.2% | [-0.2%, -0.2%] | 1 |
31+
| Improvements ✅ <br /> (secondary) | - | - | 0 |
32+
| All ❌✅ (primary) | 0.2% | [-0.2%, 0.3%] | 14 |
33+
- Looks like noise.
34+
35+
36+
Properly stall coroutine witnesses in new solver [#138845](https://github.com/rust-lang/rust/pull/138845) [(Comparison Link)](https://perf.rust-lang.org/compare.html?start=df35ff6c354f1f1fbf430b84e7dea37dfe997f34&end=fa58ce343ad498196d799a7381869e79938e952a&stat=instructions:u)
37+
38+
| (instructions:u) | mean | range | count |
39+
|:----------------------------------:|:-----:|:--------------:|:-----:|
40+
| Regressions ❌ <br /> (primary) | 0.2% | [0.1%, 0.4%] | 25 |
41+
| Regressions ❌ <br /> (secondary) | 0.4% | [0.1%, 0.6%] | 48 |
42+
| Improvements ✅ <br /> (primary) | -0.2% | [-0.2%, -0.2%] | 1 |
43+
| Improvements ✅ <br /> (secondary) | - | - | 0 |
44+
| All ❌✅ (primary) | 0.2% | [-0.2%, 0.4%] | 26 |
45+
- The regressions are small enough that this isn't a huge concern, and the regressions themselves might be due to some underlying perf instability.
46+
47+
48+
Implement a lint for implicit autoref of raw pointer dereference - take 2 [#123239](https://github.com/rust-lang/rust/pull/123239) [(Comparison Link)](https://perf.rust-lang.org/compare.html?start=0134651fb81314870903e21b1bcbdd993d75b61a&end=a932eb36f8adf6c8cdfc450f063943da3112d621&stat=instructions:u)
49+
50+
| (instructions:u) | mean | range | count |
51+
|:----------------------------------:|:----:|:------------:|:-----:|
52+
| Regressions ❌ <br /> (primary) | 1.8% | [0.3%, 3.6%] | 6 |
53+
| Regressions ❌ <br /> (secondary) | - | - | 0 |
54+
| Improvements ✅ <br /> (primary) | - | - | 0 |
55+
| Improvements ✅ <br /> (secondary) | - | - | 0 |
56+
| All ❌✅ (primary) | 1.8% | [0.3%, 3.6%] | 6 |
57+
- Perf regression reversed in https://github.com/rust-lang/rust/pull/140406
58+
59+
60+
Async drop codegen [#123948](https://github.com/rust-lang/rust/pull/123948) [(Comparison Link)](https://perf.rust-lang.org/compare.html?start=a932eb36f8adf6c8cdfc450f063943da3112d621&end=7d65abfe80f9eee93296d1ce08f845c9bf7039f8&stat=instructions:u)
61+
62+
| (instructions:u) | mean | range | count |
63+
|:----------------------------------:|:----:|:------------:|:-----:|
64+
| Regressions ❌ <br /> (primary) | 0.4% | [0.2%, 0.6%] | 12 |
65+
| Regressions ❌ <br /> (secondary) | 1.0% | [0.2%, 2.4%] | 28 |
66+
| Improvements ✅ <br /> (primary) | - | - | 0 |
67+
| Improvements ✅ <br /> (secondary) | - | - | 0 |
68+
| All ❌✅ (primary) | 0.4% | [0.2%, 0.6%] | 12 |
69+
- Ask the author and reviewer whether this is worth pursuing more after their initial perf investigation.
70+
71+
72+
#### Improvements
73+
74+
Remove `token::{Open,Close}Delim` [#139897](https://github.com/rust-lang/rust/pull/139897) [(Comparison Link)](https://perf.rust-lang.org/compare.html?start=d6c1e454aa8af5e7e59fbf5c4e7d3128d2f99582&end=fae7785b60ea7fe1ad293352c057a5b7be73d245&stat=instructions:u)
75+
76+
| (instructions:u) | mean | range | count |
77+
|:----------------------------------:|:-----:|:--------------:|:-----:|
78+
| Regressions ❌ <br /> (primary) | - | - | 0 |
79+
| Regressions ❌ <br /> (secondary) | - | - | 0 |
80+
| Improvements ✅ <br /> (primary) | -0.4% | [-0.6%, -0.2%] | 14 |
81+
| Improvements ✅ <br /> (secondary) | - | - | 0 |
82+
| All ❌✅ (primary) | -0.4% | [-0.6%, -0.2%] | 14 |
83+
84+
85+
Rollup of 8 pull requests [#140165](https://github.com/rust-lang/rust/pull/140165) [(Comparison Link)](https://perf.rust-lang.org/compare.html?start=6bc57c6bf7d0024ad9ea5a2c112f3fc9c383c8a4&end=1a5bf12f6586d724ed5ff40e58e06c0233560c0e&stat=instructions:u)
86+
87+
| (instructions:u) | mean | range | count |
88+
|:----------------------------------:|:-----:|:--------------:|:-----:|
89+
| Regressions ❌ <br /> (primary) | 0.2% | [0.2%, 0.2%] | 1 |
90+
| Regressions ❌ <br /> (secondary) | - | - | 0 |
91+
| Improvements ✅ <br /> (primary) | -0.2% | [-0.3%, -0.1%] | 17 |
92+
| Improvements ✅ <br /> (secondary) | -0.3% | [-0.6%, -0.2%] | 48 |
93+
| All ❌✅ (primary) | -0.2% | [-0.3%, 0.2%] | 18 |
94+
95+
96+
#### Mixed
97+
98+
Clippy subtree update [#139983](https://github.com/rust-lang/rust/pull/139983) [(Comparison Link)](https://perf.rust-lang.org/compare.html?start=553600e0f5f5a7d492de6d95ccb2f057005f5651&end=df35ff6c354f1f1fbf430b84e7dea37dfe997f34&stat=instructions:u)
99+
100+
| (instructions:u) | mean | range | count |
101+
|:----------------------------------:|:-----:|:--------------:|:-----:|
102+
| Regressions ❌ <br /> (primary) | 0.2% | [0.2%, 0.2%] | 1 |
103+
| Regressions ❌ <br /> (secondary) | - | - | 0 |
104+
| Improvements ✅ <br /> (primary) | -0.2% | [-0.3%, -0.1%] | 7 |
105+
| Improvements ✅ <br /> (secondary) | -0.3% | [-0.6%, -0.2%] | 36 |
106+
| All ❌✅ (primary) | -0.1% | [-0.3%, 0.2%] | 8 |
107+
- The small regression is fine in light of the larger and more numerous improvements.
108+
109+
110+
Rollup of 8 pull requests [#140256](https://github.com/rust-lang/rust/pull/140256) [(Comparison Link)](https://perf.rust-lang.org/compare.html?start=3c877f6a477380ed61155d3bf816df09c9e05b9e&end=d7ea436a02d5de4033fcf7fd4eb8ed965d0f574c&stat=instructions:u)
111+
112+
| (instructions:u) | mean | range | count |
113+
|:----------------------------------:|:-----:|:--------------:|:-----:|
114+
| Regressions ❌ <br /> (primary) | 0.2% | [0.2%, 0.2%] | 1 |
115+
| Regressions ❌ <br /> (secondary) | - | - | 0 |
116+
| Improvements ✅ <br /> (primary) | - | - | 0 |
117+
| Improvements ✅ <br /> (secondary) | -0.3% | [-0.6%, -0.2%] | 23 |
118+
| All ❌✅ (primary) | 0.2% | [0.2%, 0.2%] | 1 |
119+
- The single regression looks to be noise.
120+
121+
122+
set subsections_via_symbols for ld64 helper sections [#139752](https://github.com/rust-lang/rust/pull/139752) [(Comparison Link)](https://perf.rust-lang.org/compare.html?start=d7ea436a02d5de4033fcf7fd4eb8ed965d0f574c&end=847e3ee6b0e614937eee4e6d8f61094411eadcc0&stat=instructions:u)
123+
124+
| (instructions:u) | mean | range | count |
125+
|:----------------------------------:|:-----:|:--------------:|:-----:|
126+
| Regressions ❌ <br /> (primary) | 0.3% | [0.2%, 0.3%] | 2 |
127+
| Regressions ❌ <br /> (secondary) | 0.3% | [0.2%, 0.6%] | 30 |
128+
| Improvements ✅ <br /> (primary) | -0.2% | [-0.2%, -0.2%] | 1 |
129+
| Improvements ✅ <br /> (secondary) | - | - | 0 |
130+
| All ❌✅ (primary) | 0.1% | [-0.2%, 0.3%] | 3 |
131+
- Not sure where the regressions are coming from since this should only impact macOS.
132+
133+
134+
Allow out of order dep graph node encoding [#139756](https://github.com/rust-lang/rust/pull/139756) [(Comparison Link)](https://perf.rust-lang.org/compare.html?start=8f43b85954d2f3d8fc00a7504c603e5ca9eb0695&end=e3e432d4d65a55e6db167598e96db2bcb163e316&stat=instructions:u)
135+
136+
| (instructions:u) | mean | range | count |
137+
|:----------------------------------:|:-----:|:--------------:|:-----:|
138+
| Regressions ❌ <br /> (primary) | 0.3% | [0.3%, 0.3%] | 7 |
139+
| Regressions ❌ <br /> (secondary) | 0.4% | [0.2%, 0.6%] | 15 |
140+
| Improvements ✅ <br /> (primary) | -0.7% | [-1.3%, -0.3%] | 115 |
141+
| Improvements ✅ <br /> (secondary) | -0.8% | [-1.4%, -0.2%] | 27 |
142+
| All ❌✅ (primary) | -0.7% | [-1.3%, 0.3%] | 122 |
143+
- Perf improvements massively outweigh the regressions.
144+

0 commit comments

Comments
 (0)