Skip to content

Commit dafd543

Browse files
authored
Merge pull request #1499 from rylev/triage-2022-11-22
Add triage for 2022-11-22
2 parents e374e5b + 8edef54 commit dafd543

File tree

1 file changed

+225
-0
lines changed

1 file changed

+225
-0
lines changed

triage/2022-11-22.md

Lines changed: 225 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,225 @@
1+
# 2022-11-22 Triage Log
2+
3+
A fairly quiet week with regressions unfortunately slightly outweighing improvements. There was not any particular change of much note. Many of the regressions were justifiable since they were for critical bug fixes.
4+
5+
Triage done by **@rylev**.
6+
Revision range: [96ddd32c..a78c9bee](https://perf.rust-lang.org/?start=96ddd32c4bfb1d78f0cd03eb068b1710a8cebeef&end=a78c9bee4d9d51a3891bd8ecae1f28a93b83653b&absolute=false&stat=instructions%3Au)
7+
8+
**Summary**:
9+
10+
| (instructions:u) | mean | range | count |
11+
|:----------------------------------:|:-----:|:--------------:|:-----:|
12+
| Regressions ❌ <br /> (primary) | 0.7% | [0.2%, 3.0%] | 76 |
13+
| Regressions ❌ <br /> (secondary) | 1.5% | [0.3%, 8.4%] | 69 |
14+
| Improvements ✅ <br /> (primary) | -0.7% | [-1.8%, -0.2%] | 18 |
15+
| Improvements ✅ <br /> (secondary) | -1.4% | [-3.2%, -0.2%] | 35 |
16+
| All ❌✅ (primary) | 0.4% | [-1.8%, 3.0%] | 94 |
17+
18+
19+
7 Regressions, 4 Improvements, 6 Mixed; 5 of them in rollups
20+
47 artifact comparisons made in total
21+
22+
#### Regressions
23+
24+
Rollup of 13 pull requests [#104428](https://github.com/rust-lang/rust/pull/104428) [(Comparison Link)](https://perf.rust-lang.org/compare.html?start=101e1822c3e54e63996c8aaa014d55716f3937eb&end=ca92d90b5917e7176d5ff06607a2cd5352c088d3&stat=instructions:u)
25+
26+
| (instructions:u) | mean | range | count |
27+
|:----------------------------------:|:----:|:------------:|:-----:|
28+
| Regressions ❌ <br /> (primary) | 1.2% | [0.3%, 3.3%] | 14 |
29+
| Regressions ❌ <br /> (secondary) | 2.1% | [0.3%, 3.3%] | 23 |
30+
| Improvements ✅ <br /> (primary) | - | - | 0 |
31+
| Improvements ✅ <br /> (secondary) | - | - | 0 |
32+
| All ❌✅ (primary) | 1.2% | [0.3%, 3.3%] | 14 |
33+
- [Justification](https://github.com/rust-lang/rust/pull/104404#issuecomment-1317574300) for this regression was posted #104404. Effectively this regression is taking us back to the baseline.
34+
35+
36+
Perform simple scalar replacement of aggregates (SROA) MIR opt [#102570](https://github.com/rust-lang/rust/pull/102570) [(Comparison Link)](https://perf.rust-lang.org/compare.html?start=a00f8ba7fcac1b27341679c51bf5a3271fa82df3&end=79146baa9c7e00b716cc41f8660a56cd2acdf8bd&stat=instructions:u)
37+
38+
| (instructions:u) | mean | range | count |
39+
|:----------------------------------:|:-----:|:--------------:|:-----:|
40+
| Regressions ❌ <br /> (primary) | 0.2% | [0.2%, 0.2%] | 2 |
41+
| Regressions ❌ <br /> (secondary) | 0.4% | [0.2%, 0.8%] | 6 |
42+
| Improvements ✅ <br /> (primary) | - | - | 0 |
43+
| Improvements ✅ <br /> (secondary) | -1.4% | [-1.4%, -1.4%] | 1 |
44+
| All ❌✅ (primary) | 0.2% | [0.2%, 0.2%] | 2 |
45+
- [#104404](https://github.com/rust-lang/rust/pull/104404) is the cause of the regression.
46+
47+
48+
Attempt to reuse `Vec<T>` backing storage for `Rc/Arc<[T]>` [#104205](https://github.com/rust-lang/rust/pull/104205) [(Comparison Link)](https://perf.rust-lang.org/compare.html?start=7c75fe4c8547c276574cacb144919d67fd8ab302&end=36db030a7c3c51cb4484cbd8c8daebcf5057d61c&stat=instructions:u)
49+
50+
| (instructions:u) | mean | range | count |
51+
|:----------------------------------:|:----:|:------------:|:-----:|
52+
| Regressions ❌ <br /> (primary) | - | - | 0 |
53+
| Regressions ❌ <br /> (secondary) | 0.4% | [0.1%, 1.4%] | 16 |
54+
| Improvements ✅ <br /> (primary) | - | - | 0 |
55+
| Improvements ✅ <br /> (secondary) | - | - | 0 |
56+
| All ❌✅ (primary) | - | - | 0 |
57+
- This was reverted in [#104571](https://github.com/rust-lang/rust/pull/104571).
58+
59+
60+
Rollup of 11 pull requests [#104555](https://github.com/rust-lang/rust/pull/104555) [(Comparison Link)](https://perf.rust-lang.org/compare.html?start=30117a1dbb843da1d5ab1258e89a3ed0b1940475&end=9d46c7a3e69966782e163877151c1f0cea8b630a&stat=instructions:u)
61+
62+
| (instructions:u) | mean | range | count |
63+
|:----------------------------------:|:----:|:------------:|:-----:|
64+
| Regressions ❌ <br /> (primary) | 0.4% | [0.4%, 0.5%] | 2 |
65+
| Regressions ❌ <br /> (secondary) | 1.3% | [1.3%, 1.3%] | 2 |
66+
| Improvements ✅ <br /> (primary) | - | - | 0 |
67+
| Improvements ✅ <br /> (secondary) | - | - | 0 |
68+
| All ❌✅ (primary) | 0.4% | [0.4%, 0.5%] | 2 |
69+
- `externs` is noisy at the moment, and the two `doc` regressions for `syn` and `webrender` are small enough to not worry about.
70+
71+
72+
Rollup of 8 pull requests [#104600](https://github.com/rust-lang/rust/pull/104600) [(Comparison Link)](https://perf.rust-lang.org/compare.html?start=becc24a23aed2639db3b78acd93ec6d553898583&end=2f8d8040166a730d0da7bba0f2864f0ef7ff6364&stat=instructions:u)
73+
74+
| (instructions:u) | mean | range | count |
75+
|:----------------------------------:|:----:|:------------:|:-----:|
76+
| Regressions ❌ <br /> (primary) | 0.4% | [0.2%, 0.7%] | 3 |
77+
| Regressions ❌ <br /> (secondary) | 6.1% | [1.3%, 8.8%] | 3 |
78+
| Improvements ✅ <br /> (primary) | - | - | 0 |
79+
| Improvements ✅ <br /> (secondary) | - | - | 0 |
80+
| All ❌✅ (primary) | 0.4% | [0.2%, 0.7%] | 3 |
81+
- #104411 seems to be causing most of this.
82+
- The regressions are few enough in number that I don't think this is necessarily worth looking into.
83+
84+
Revert Vec/Rc storage reuse opt [#104571](https://github.com/rust-lang/rust/pull/104571) [(Comparison Link)](https://perf.rust-lang.org/compare.html?start=5e6de2369c82ed0b36e6b651b041bad5cb5e1ef8&end=62c627c7a3a9b3e193a5ae6e1ec7348bc5136301&stat=instructions:u)
85+
86+
| (instructions:u) | mean | range | count |
87+
|:----------------------------------:|:----:|:------------:|:-----:|
88+
| Regressions ❌ <br /> (primary) | 0.5% | [0.4%, 0.5%] | 5 |
89+
| Regressions ❌ <br /> (secondary) | 1.2% | [1.2%, 1.2%] | 2 |
90+
| Improvements ✅ <br /> (primary) | - | - | 0 |
91+
| Improvements ✅ <br /> (secondary) | - | - | 0 |
92+
| All ❌✅ (primary) | 0.5% | [0.4%, 0.5%] | 5 |
93+
- This removes a recently-merged optimization that caused CI failures because it doesn't work reliably on all platforms.
94+
95+
96+
Clean up and harden various methods around trait substs [#104533](https://github.com/rust-lang/rust/pull/104533) [(Comparison Link)](https://perf.rust-lang.org/compare.html?start=b7bc90fea3b441234a84b49fdafeb75815eebbab&end=28a53cdb4695b71cb9ee39959df88542056479cd&stat=instructions:u)
97+
98+
| (instructions:u) | mean | range | count |
99+
|:----------------------------------:|:-----:|:--------------:|:-----:|
100+
| Regressions ❌ <br /> (primary) | 0.3% | [0.2%, 0.5%] | 11 |
101+
| Regressions ❌ <br /> (secondary) | 0.6% | [0.2%, 0.9%] | 27 |
102+
| Improvements ✅ <br /> (primary) | - | - | 0 |
103+
| Improvements ✅ <br /> (secondary) | -0.3% | [-0.3%, -0.3%] | 1 |
104+
| All ❌✅ (primary) | 0.3% | [0.2%, 0.5%] | 11 |
105+
- Currently being investigated by @oli-obk in [#104709](https://github.com/rust-lang/rust/pull/104709)
106+
107+
108+
#### Improvements
109+
110+
Merge basic blocks where possible when generating LLVM IR. [#103138](https://github.com/rust-lang/rust/pull/103138) [(Comparison Link)](https://perf.rust-lang.org/compare.html?start=bebd57a9602e48431c90274fbf7d96683b0708b6&end=251831ece9601d64172127b6caae9087358c2386&stat=instructions:u)
111+
112+
| (instructions:u) | mean | range | count |
113+
|:----------------------------------:|:-----:|:--------------:|:-----:|
114+
| Regressions ❌ <br /> (primary) | - | - | 0 |
115+
| Regressions ❌ <br /> (secondary) | - | - | 0 |
116+
| Improvements ✅ <br /> (primary) | -0.8% | [-1.4%, -0.4%] | 6 |
117+
| Improvements ✅ <br /> (secondary) | -0.3% | [-0.3%, -0.2%] | 2 |
118+
| All ❌✅ (primary) | -0.8% | [-1.4%, -0.4%] | 6 |
119+
120+
121+
Record `LocalDefId` in HIR nodes instead of a side table [#104170](https://github.com/rust-lang/rust/pull/104170) [(Comparison Link)](https://perf.rust-lang.org/compare.html?start=9340e5c1b9dee53fd32a18f7bfb54faabfe00b7b&end=7c75fe4c8547c276574cacb144919d67fd8ab302&stat=instructions:u)
122+
123+
| (instructions:u) | mean | range | count |
124+
|:----------------------------------:|:-----:|:--------------:|:-----:|
125+
| Regressions ❌ <br /> (primary) | - | - | 0 |
126+
| Regressions ❌ <br /> (secondary) | - | - | 0 |
127+
| Improvements ✅ <br /> (primary) | -0.3% | [-0.3%, -0.2%] | 4 |
128+
| Improvements ✅ <br /> (secondary) | -1.1% | [-2.3%, -0.6%] | 12 |
129+
| All ❌✅ (primary) | -0.3% | [-0.3%, -0.2%] | 4 |
130+
131+
132+
Remove allow(rustc::potential_query_instability) from rustc_ast_lowering [#104330](https://github.com/rust-lang/rust/pull/104330) [(Comparison Link)](https://perf.rust-lang.org/compare.html?start=9d46c7a3e69966782e163877151c1f0cea8b630a&end=fd3bfb35511cbcff59ce1454d3db627b576d7e92&stat=instructions:u)
133+
134+
| (instructions:u) | mean | range | count |
135+
|:----------------------------------:|:-----:|:--------------:|:-----:|
136+
| Regressions ❌ <br /> (primary) | - | - | 0 |
137+
| Regressions ❌ <br /> (secondary) | - | - | 0 |
138+
| Improvements ✅ <br /> (primary) | - | - | 0 |
139+
| Improvements ✅ <br /> (secondary) | -0.6% | [-1.3%, -0.3%] | 6 |
140+
| All ❌✅ (primary) | - | - | 0 |
141+
142+
143+
Factor out `conservative_is_privately_uninhabited` [#103454](https://github.com/rust-lang/rust/pull/103454) [(Comparison Link)](https://perf.rust-lang.org/compare.html?start=ccde51a912e89478a649dc9e64b5584a5971f75f&end=736c675d2ab65bcde6554e1b73340c2dbc27c85a&stat=instructions:u)
144+
145+
| (instructions:u) | mean | range | count |
146+
|:----------------------------------:|:-----:|:--------------:|:-----:|
147+
| Regressions ❌ <br /> (primary) | - | - | 0 |
148+
| Regressions ❌ <br /> (secondary) | - | - | 0 |
149+
| Improvements ✅ <br /> (primary) | -0.4% | [-0.9%, -0.2%] | 22 |
150+
| Improvements ✅ <br /> (secondary) | -0.7% | [-0.7%, -0.7%] | 2 |
151+
| All ❌✅ (primary) | -0.4% | [-0.9%, -0.2%] | 22 |
152+
153+
154+
#### Mixed
155+
156+
Rollup of 9 pull requests [#104437](https://github.com/rust-lang/rust/pull/104437) [(Comparison Link)](https://perf.rust-lang.org/compare.html?start=357f66072959f494d5fa2e6a269c6100eed703c1&end=6d651a295e0e0c331153288b10b78344a4ede20b&stat=instructions:u)
157+
158+
| (instructions:u) | mean | range | count |
159+
|:----------------------------------:|:-----:|:--------------:|:-----:|
160+
| Regressions ❌ <br /> (primary) | 0.3% | [0.2%, 0.4%] | 4 |
161+
| Regressions ❌ <br /> (secondary) | - | - | 0 |
162+
| Improvements ✅ <br /> (primary) | - | - | 0 |
163+
| Improvements ✅ <br /> (secondary) | -0.3% | [-0.3%, -0.3%] | 1 |
164+
| All ❌✅ (primary) | 0.3% | [0.2%, 0.4%] | 4 |
165+
- Too small a regression for us to investigate this rollup (this is just barely passing the mark for being considered significant).
166+
167+
168+
Use `token::Lit` in `ast::ExprKind::Lit`. [#102944](https://github.com/rust-lang/rust/pull/102944) [(Comparison Link)](https://perf.rust-lang.org/compare.html?start=e9493d63c2a57b91556dccd219e21821432c7445&end=bebd57a9602e48431c90274fbf7d96683b0708b6&stat=instructions:u)
169+
170+
| (instructions:u) | mean | range | count |
171+
|:----------------------------------:|:-----:|:--------------:|:-----:|
172+
| Regressions ❌ <br /> (primary) | 0.3% | [0.2%, 0.7%] | 16 |
173+
| Regressions ❌ <br /> (secondary) | - | - | 0 |
174+
| Improvements ✅ <br /> (primary) | -0.2% | [-0.2%, -0.2%] | 1 |
175+
| Improvements ✅ <br /> (secondary) | -0.5% | [-1.0%, -0.3%] | 10 |
176+
| All ❌✅ (primary) | 0.3% | [-0.2%, 0.7%] | 17 |
177+
- The wins and losses roughly balance out. Also, this will enable some additional improvements by shrinking the size of `ast::Expr`.
178+
179+
180+
x86_64 SSE2 fast-path for str.contains(&str) and short needles [#103779](https://github.com/rust-lang/rust/pull/103779) [(Comparison Link)](https://perf.rust-lang.org/compare.html?start=251831ece9601d64172127b6caae9087358c2386&end=9340e5c1b9dee53fd32a18f7bfb54faabfe00b7b&stat=instructions:u)
181+
182+
| (instructions:u) | mean | range | count |
183+
|:----------------------------------:|:-----:|:--------------:|:-----:|
184+
| Regressions ❌ <br /> (primary) | 0.4% | [0.3%, 0.6%] | 4 |
185+
| Regressions ❌ <br /> (secondary) | - | - | 0 |
186+
| Improvements ✅ <br /> (primary) | -0.4% | [-0.5%, -0.3%] | 5 |
187+
| Improvements ✅ <br /> (secondary) | -1.0% | [-1.3%, -0.6%] | 4 |
188+
| All ❌✅ (primary) | -0.1% | [-0.5%, 0.6%] | 9 |
189+
- A few wins, a few losses, it roughly balances out.
190+
191+
192+
Shrink `ast::Expr` harder [#101562](https://github.com/rust-lang/rust/pull/101562) [(Comparison Link)](https://perf.rust-lang.org/compare.html?start=fd3bfb35511cbcff59ce1454d3db627b576d7e92&end=70fe5f08fffd16dc20506f7d140e47b074f77964&stat=instructions:u)
193+
194+
| (instructions:u) | mean | range | count |
195+
|:----------------------------------:|:-----:|:--------------:|:-----:|
196+
| Regressions ❌ <br /> (primary) | 0.4% | [0.2%, 0.8%] | 10 |
197+
| Regressions ❌ <br /> (secondary) | 0.4% | [0.1%, 0.7%] | 10 |
198+
| Improvements ✅ <br /> (primary) | - | - | 0 |
199+
| Improvements ✅ <br /> (secondary) | -0.3% | [-0.6%, -0.2%] | 13 |
200+
| All ❌✅ (primary) | 0.4% | [0.2%, 0.8%] | 10 |
201+
- Instruction count results are mixed. But the real results are for cycles and wall-time, which show lots of improvements.
202+
203+
204+
Revert "Normalize opaques with escaping bound vars" [#103509](https://github.com/rust-lang/rust/pull/103509) [(Comparison Link)](https://perf.rust-lang.org/compare.html?start=2f8d8040166a730d0da7bba0f2864f0ef7ff6364&end=5e6de2369c82ed0b36e6b651b041bad5cb5e1ef8&stat=instructions:u)
205+
206+
| (instructions:u) | mean | range | count |
207+
|:----------------------------------:|:-----:|:--------------:|:-----:|
208+
| Regressions ❌ <br /> (primary) | - | - | 0 |
209+
| Regressions ❌ <br /> (secondary) | 0.6% | [0.3%, 0.8%] | 3 |
210+
| Improvements ✅ <br /> (primary) | - | - | 0 |
211+
| Improvements ✅ <br /> (secondary) | -1.6% | [-2.2%, -0.3%] | 6 |
212+
| All ❌✅ (primary) | - | - | 0 |
213+
- This is a necessary fix for a compiler hang. Additionally the improvements outweigh the regressions and this is all confined to secondary benchmarks.
214+
215+
216+
Rollup of 6 pull requests [#104646](https://github.com/rust-lang/rust/pull/104646) [(Comparison Link)](https://perf.rust-lang.org/compare.html?start=911cbf8e46f0f3b044c87fc5cbca922878db757b&end=a28f3c88e50a77bc2a91889241248c4543854e61&stat=instructions:u)
217+
218+
| (instructions:u) | mean | range | count |
219+
|:----------------------------------:|:-----:|:--------------:|:-----:|
220+
| Regressions ❌ <br /> (primary) | 0.7% | [0.4%, 0.9%] | 7 |
221+
| Regressions ❌ <br /> (secondary) | - | - | 0 |
222+
| Improvements ✅ <br /> (primary) | - | - | 0 |
223+
| Improvements ✅ <br /> (secondary) | -1.4% | [-2.1%, -0.4%] | 9 |
224+
| All ❌✅ (primary) | 0.7% | [0.4%, 0.9%] | 7 |
225+
- Regressions are noise

0 commit comments

Comments
 (0)