Skip to content

Commit 1cbb6b3

Browse files
authored
Merge pull request #1989 from rylev/perf-triage-2024-10-08
Add perf triage for 2024-10-08
2 parents 6cc3845 + e6fcc69 commit 1cbb6b3

File tree

1 file changed

+167
-0
lines changed

1 file changed

+167
-0
lines changed

triage/2024-10-08.md

+167
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,167 @@
1+
# 2024-10-08 Triage Log
2+
3+
One regression dominated this week (dealing with a correctness fix around type system caching that was deemed necessary), but it luckily did not produce large regressions in any benchmarks. Overall, performance still ended up relatively in the same place as the beginning of the week.
4+
5+
Triage done by **@rylev**.
6+
Revision range: [c87004a1..e6c46db4](https://perf.rust-lang.org/?start=c87004a1f5be671e3f03f69fb13d8915bdbb6a52&end=e6c46db4e9fd11e3183c397a59d946731034ede6&absolute=false&stat=instructions%3Au)
7+
8+
**Summary**:
9+
10+
| (instructions:u) | mean | range | count |
11+
|:----------------------------------:|:-----:|:--------------:|:-----:|
12+
| Regressions ❌ <br /> (primary) | 0.3% | [0.1%, 1.0%] | 63 |
13+
| Regressions ❌ <br /> (secondary) | 1.1% | [0.1%, 3.4%] | 81 |
14+
| Improvements ✅ <br /> (primary) | -0.5% | [-3.0%, -0.1%] | 19 |
15+
| Improvements ✅ <br /> (secondary) | -0.5% | [-1.5%, -0.1%] | 46 |
16+
| All ❌✅ (primary) | 0.1% | [-3.0%, 1.0%] | 82 |
17+
18+
19+
2 Regressions, 3 Improvements, 7 Mixed; 3 of them in rollups
20+
57 artifact comparisons made in total
21+
22+
#### Regressions
23+
24+
Rollup of 4 pull requests [#131111](https://github.com/rust-lang/rust/pull/131111) [(Comparison Link)](https://perf.rust-lang.org/compare.html?start=c817d5dc2050ec443516f9700c19b1419593a83d&end=06bb8364aaffefb0ce67e5f5445e66ec99c1f66e&stat=instructions:u)
25+
26+
| (instructions:u) | mean | range | count |
27+
|:----------------------------------:|:----:|:------------:|:-----:|
28+
| Regressions ❌ <br /> (primary) | 0.2% | [0.2%, 0.2%] | 4 |
29+
| Regressions ❌ <br /> (secondary) | - | - | 0 |
30+
| Improvements ✅ <br /> (primary) | - | - | 0 |
31+
| Improvements ✅ <br /> (secondary) | - | - | 0 |
32+
| All ❌✅ (primary) | 0.2% | [0.2%, 0.2%] | 4 |
33+
- It seems like https://github.com/rust-lang/rust/pull/130005 would be the only PR that could possibly have introduced any perf variation here though it's not clear to me why.
34+
35+
36+
add caching to most type folders, rm region uniquification [#130821](https://github.com/rust-lang/rust/pull/130821) [(Comparison Link)](https://perf.rust-lang.org/compare.html?start=5384697e9e73709301850a414e1cc40324e6460b&end=18b1161ec9eeab8927f91405bca0ddf59a4a26c9&stat=instructions:u)
37+
38+
| (instructions:u) | mean | range | count |
39+
|:----------------------------------:|:----:|:------------:|:-----:|
40+
| Regressions ❌ <br /> (primary) | 0.3% | [0.1%, 0.5%] | 44 |
41+
| Regressions ❌ <br /> (secondary) | 0.7% | [0.2%, 2.1%] | 44 |
42+
| Improvements ✅ <br /> (primary) | - | - | 0 |
43+
| Improvements ✅ <br /> (secondary) | - | - | 0 |
44+
| All ❌✅ (primary) | 0.3% | [0.1%, 0.5%] | 44 |
45+
- Perf regressions were seen before merge and deemed acceptable [here](https://github.com/rust-lang/rust/pull/130821#issuecomment-2386298339).
46+
47+
48+
#### Improvements
49+
50+
Update hashbrown to 0.15 and adjust some methods [#131148](https://github.com/rust-lang/rust/pull/131148) [(Comparison Link)](https://perf.rust-lang.org/compare.html?start=9c7013c15c189a6978ac8b9dac638581495527de&end=ad9c494835e746fb7c8a26eeed0ad90e4e834058&stat=instructions:u)
51+
52+
| (instructions:u) | mean | range | count |
53+
|:----------------------------------:|:-----:|:--------------:|:-----:|
54+
| Regressions ❌ <br /> (primary) | - | - | 0 |
55+
| Regressions ❌ <br /> (secondary) | - | - | 0 |
56+
| Improvements ✅ <br /> (primary) | -0.2% | [-0.2%, -0.1%] | 2 |
57+
| Improvements ✅ <br /> (secondary) | -0.3% | [-2.3%, -0.1%] | 14 |
58+
| All ❌✅ (primary) | -0.2% | [-0.2%, -0.1%] | 2 |
59+
60+
61+
Make opaque types regular HIR nodes [#129244](https://github.com/rust-lang/rust/pull/129244) [(Comparison Link)](https://perf.rust-lang.org/compare.html?start=d30c3924a4ef6ab4f331134562c145d5cec0179a&end=5a4ee43c387110736440cecc375cb5aedc441dbc&stat=instructions:u)
62+
63+
| (instructions:u) | mean | range | count |
64+
|:----------------------------------:|:-----:|:--------------:|:-----:|
65+
| Regressions ❌ <br /> (primary) | - | - | 0 |
66+
| Regressions ❌ <br /> (secondary) | 0.1% | [0.1%, 0.1%] | 2 |
67+
| Improvements ✅ <br /> (primary) | -0.2% | [-0.3%, -0.1%] | 13 |
68+
| Improvements ✅ <br /> (secondary) | -0.6% | [-1.4%, -0.2%] | 23 |
69+
| All ❌✅ (primary) | -0.2% | [-0.3%, -0.1%] | 13 |
70+
71+
72+
Rollup of 7 pull requests [#131372](https://github.com/rust-lang/rust/pull/131372) [(Comparison Link)](https://perf.rust-lang.org/compare.html?start=7caad6925314911eefe54b040d4bc5be940e8f92&end=baaf3e65abab5a281715230bcb1785610629ae7d&stat=instructions:u)
73+
74+
| (instructions:u) | mean | range | count |
75+
|:----------------------------------:|:-----:|:--------------:|:-----:|
76+
| Regressions ❌ <br /> (primary) | - | - | 0 |
77+
| Regressions ❌ <br /> (secondary) | - | - | 0 |
78+
| Improvements ✅ <br /> (primary) | -0.3% | [-0.3%, -0.2%] | 3 |
79+
| Improvements ✅ <br /> (secondary) | -0.2% | [-0.3%, -0.1%] | 9 |
80+
| All ❌✅ (primary) | -0.3% | [-0.3%, -0.2%] | 3 |
81+
82+
83+
#### Mixed
84+
85+
rustdoc: rewrite stability inheritance as a doc pass [#131076](https://github.com/rust-lang/rust/pull/131076) [(Comparison Link)](https://perf.rust-lang.org/compare.html?start=f79ef02e4bc87eb6dc8374cd4bde8e86f9695cf9&end=07f08ffb2dbc864d2127abedf7a5917b965c0a4b&stat=instructions:u)
86+
87+
| (instructions:u) | mean | range | count |
88+
|:----------------------------------:|:-----:|:--------------:|:-----:|
89+
| Regressions ❌ <br /> (primary) | 0.5% | [0.2%, 0.8%] | 2 |
90+
| Regressions ❌ <br /> (secondary) | 0.2% | [0.1%, 0.2%] | 7 |
91+
| Improvements ✅ <br /> (primary) | -0.5% | [-0.9%, -0.2%] | 4 |
92+
| Improvements ✅ <br /> (secondary) | -0.2% | [-0.2%, -0.2%] | 1 |
93+
| All ❌✅ (primary) | -0.1% | [-0.9%, 0.8%] | 6 |
94+
- Documentation correctness fix, but the results are a wash anyway, especially on primary benchmarks.
95+
96+
97+
Rollup of 5 pull requests [#131098](https://github.com/rust-lang/rust/pull/131098) [(Comparison Link)](https://perf.rust-lang.org/compare.html?start=8dd5cd0bc1d683c30805e1dc831cac546b621a75&end=c817d5dc2050ec443516f9700c19b1419593a83d&stat=instructions:u)
98+
99+
| (instructions:u) | mean | range | count |
100+
|:----------------------------------:|:-----:|:--------------:|:-----:|
101+
| Regressions ❌ <br /> (primary) | 0.3% | [0.2%, 0.3%] | 5 |
102+
| Regressions ❌ <br /> (secondary) | 0.2% | [0.2%, 0.2%] | 1 |
103+
| Improvements ✅ <br /> (primary) | - | - | 0 |
104+
| Improvements ✅ <br /> (secondary) | -0.3% | [-0.3%, -0.2%] | 6 |
105+
| All ❌✅ (primary) | 0.3% | [0.2%, 0.3%] | 5 |
106+
- The regressions are small and largely a jump back to a previous baseline so I don't think this merits investigation.
107+
108+
109+
interpret: always enable write_immediate sanity checks [#131006](https://github.com/rust-lang/rust/pull/131006) [(Comparison Link)](https://perf.rust-lang.org/compare.html?start=18b1161ec9eeab8927f91405bca0ddf59a4a26c9&end=9c7013c15c189a6978ac8b9dac638581495527de&stat=instructions:u)
110+
111+
| (instructions:u) | mean | range | count |
112+
|:----------------------------------:|:-----:|:--------------:|:-----:|
113+
| Regressions ❌ <br /> (primary) | - | - | 0 |
114+
| Regressions ❌ <br /> (secondary) | 0.5% | [0.2%, 2.3%] | 15 |
115+
| Improvements ✅ <br /> (primary) | - | - | 0 |
116+
| Improvements ✅ <br /> (secondary) | -2.0% | [-2.0%, -2.0%] | 1 |
117+
| All ❌✅ (primary) | - | - | 0 |
118+
- The perf regressions were deemed acceptable [here](https://github.com/rust-lang/rust/pull/131006#issuecomment-2383332832).
119+
120+
121+
Handle `librustdoc` cases of `rustc::potential_query_instability` lint [#131259](https://github.com/rust-lang/rust/pull/131259) [(Comparison Link)](https://perf.rust-lang.org/compare.html?start=96d9d8aa7de9396fe22702ff6df33816ae4d01b6&end=373971abe48287f47ead6304b19279f34b6fcce5&stat=instructions:u)
122+
123+
| (instructions:u) | mean | range | count |
124+
|:----------------------------------:|:-----:|:--------------:|:-----:|
125+
| Regressions ❌ <br /> (primary) | 0.5% | [0.2%, 1.4%] | 9 |
126+
| Regressions ❌ <br /> (secondary) | - | - | 0 |
127+
| Improvements ✅ <br /> (primary) | - | - | 0 |
128+
| Improvements ✅ <br /> (secondary) | -0.5% | [-0.6%, -0.4%] | 2 |
129+
| All ❌✅ (primary) | 0.5% | [0.2%, 1.4%] | 9 |
130+
- 1% regression in exchange for a reproducible build improvement. If we want to claw it back, we need to iterate over hash maps less.
131+
132+
133+
`rustc_infer` cleanups [#131226](https://github.com/rust-lang/rust/pull/131226) [(Comparison Link)](https://perf.rust-lang.org/compare.html?start=a964a9227787447016894268152bff79ee76a36b&end=8841a3daddd4013c52e8b6de0407fd9b5902583c&stat=instructions:u)
134+
135+
| (instructions:u) | mean | range | count |
136+
|:----------------------------------:|:-----:|:--------------:|:-----:|
137+
| Regressions ❌ <br /> (primary) | - | - | 0 |
138+
| Regressions ❌ <br /> (secondary) | 0.8% | [0.4%, 1.0%] | 8 |
139+
| Improvements ✅ <br /> (primary) | -0.3% | [-0.5%, -0.2%] | 40 |
140+
| Improvements ✅ <br /> (secondary) | -0.3% | [-0.5%, -0.2%] | 15 |
141+
| All ❌✅ (primary) | -0.3% | [-0.5%, -0.2%] | 40 |
142+
- Perf improvements outweigh the regressions so marking this as triaged
143+
144+
145+
Remove `CombineFields` [#131343](https://github.com/rust-lang/rust/pull/131343) [(Comparison Link)](https://perf.rust-lang.org/compare.html?start=baaf3e65abab5a281715230bcb1785610629ae7d&end=3ae715c8c63f9aeac47cbf7d8d9dadb3fa32c638&stat=instructions:u)
146+
147+
| (instructions:u) | mean | range | count |
148+
|:----------------------------------:|:-----:|:--------------:|:-----:|
149+
| Regressions ❌ <br /> (primary) | 0.2% | [0.2%, 0.2%] | 3 |
150+
| Regressions ❌ <br /> (secondary) | 0.3% | [0.2%, 0.3%] | 3 |
151+
| Improvements ✅ <br /> (primary) | - | - | 0 |
152+
| Improvements ✅ <br /> (secondary) | -0.2% | [-0.2%, -0.2%] | 1 |
153+
| All ❌✅ (primary) | 0.2% | [0.2%, 0.2%] | 3 |
154+
- Regressions were determined as acceptable [here](https://github.com/rust-lang/rust/pull/131343#issuecomment-2396836003).
155+
156+
157+
Add precondition checks to ptr::offset, ptr::add, ptr::sub [#130251](https://github.com/rust-lang/rust/pull/130251) [(Comparison Link)](https://perf.rust-lang.org/compare.html?start=3ae715c8c63f9aeac47cbf7d8d9dadb3fa32c638&end=b8495e5dd22fa16fc86d6871b34c7891a6a3ee27&stat=instructions:u)
158+
159+
| (instructions:u) | mean | range | count |
160+
|:----------------------------------:|:-----:|:--------------:|:-----:|
161+
| Regressions ❌ <br /> (primary) | - | - | 0 |
162+
| Regressions ❌ <br /> (secondary) | 0.4% | [0.3%, 0.5%] | 2 |
163+
| Improvements ✅ <br /> (primary) | -3.2% | [-3.2%, -3.2%] | 1 |
164+
| Improvements ✅ <br /> (secondary) | -0.2% | [-0.2%, -0.2%] | 1 |
165+
| All ❌✅ (primary) | -3.2% | [-3.2%, -3.2%] | 1 |
166+
- Results are net neutral and not significant enough to worry about. Alternatively, the slowdown is justified by finding bugs in real code.
167+

0 commit comments

Comments
 (0)