Skip to content

Commit 4b1dbfc

Browse files
Merge pull request #1353 from Mark-Simulacrum/triage
Add triage for this week
2 parents e63174f + 3328a0f commit 4b1dbfc

File tree

1 file changed

+232
-0
lines changed

1 file changed

+232
-0
lines changed

β€Žtriage/2022-07-05.md

Lines changed: 232 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,232 @@
1+
# 2022-07-05 Triage Log
2+
3+
Overall the week is a small improvement on average, with some benchmarks
4+
(particularly in the primary category) showing significant improvements due to
5+
the enablement of MIR inlining in
6+
[#91743](https://github.com/rust-lang/rust/pull/91743). Inlining promises to
7+
improve the quality of our generated LLVM IR and make other optimizations more
8+
worthwhile, so it's great to see these early results already being quite
9+
impactful.
10+
11+
Triage done by **@simulacrum**.
12+
Revision range: [baf382e63c023259fa1f9042f8f479f183ca6ed3..880646ca9c6dc21e04efe2f1940369a45b71ff2d](https://perf.rust-lang.org/?start=baf382e63c023259fa1f9042f8f479f183ca6ed3&end=880646ca9c6dc21e04efe2f1940369a45b71ff2d&absolute=false&stat=instructions%3Au)
13+
14+
**Summary**:
15+
16+
| | mean | max | count |
17+
|:----------:|:----:|:---:|:-----:|
18+
| Regressions 😿 <br /> (primary) | 1.9% | 11.9% | 111 |
19+
| Regressions 😿 <br /> (secondary) | 3.4% | 11.9% | 106 |
20+
| Improvements πŸŽ‰ <br /> (primary) | -2.8% | -9.7% | 105 |
21+
| Improvements πŸŽ‰ <br /> (secondary) | -4.4% | -16.8% | 97 |
22+
| All πŸ˜ΏπŸŽ‰ (primary) | -0.4% | 11.9% | 216 |
23+
24+
25+
3 Regressions, 6 Improvements, 6 Mixed; 4 of them in rollups
26+
46 artifact comparisons made in total
27+
28+
#### Regressions
29+
30+
Fix FFI-unwind unsoundness with mixed panic mode [#97235](https://github.com/rust-lang/rust/pull/97235)
31+
[(Comparison Link)](https://perf.rust-lang.org/compare.html?start=0075bb4fad68e64b6d1be06bf2db366c30bc75e1&end=6a1092056441652fe5fe5c5b422644951e6b99ce&stat=instructions:u)
32+
33+
| | mean | max | count |
34+
|:----------:|:----:|:---:|:-----:|
35+
| Regressions 😿 <br /> (primary) | 0.5% | 1.2% | 86 |
36+
| Regressions 😿 <br /> (secondary) | 0.9% | 2.5% | 36 |
37+
| Improvements πŸŽ‰ <br /> (primary) | N/A | N/A | 0 |
38+
| Improvements πŸŽ‰ <br /> (secondary) | N/A | N/A | 0 |
39+
| All πŸ˜ΏπŸŽ‰ (primary) | 0.5% | 1.2% | 86 |
40+
41+
PR author notes this added a new query for each MIR body, so this is an
42+
expected regression, and given the soundness fix is not too large to need
43+
further investigation.
44+
45+
Rollup of 5 pull requests [#98874](https://github.com/rust-lang/rust/pull/98874)
46+
[(Comparison Link)](https://perf.rust-lang.org/compare.html?start=a5c6a48aee84215a9200dfa1c4c6ad88f5721f56&end=9c9ae85a4773be3c1e33717e4fa9759b4ce020ef&stat=instructions:u)
47+
48+
| | mean | max | count |
49+
|:----------:|:----:|:---:|:-----:|
50+
| Regressions 😿 <br /> (primary) | 0.6% | 0.9% | 13 |
51+
| Regressions 😿 <br /> (secondary) | 1.4% | 2.4% | 12 |
52+
| Improvements πŸŽ‰ <br /> (primary) | N/A | N/A | 0 |
53+
| Improvements πŸŽ‰ <br /> (secondary) | N/A | N/A | 0 |
54+
| All πŸ˜ΏπŸŽ‰ (primary) | 0.6% | 0.9% | 13 |
55+
56+
Some possibly real, though small, regressions. Unclear cause; rollup doesn't
57+
obviously contain any sensitive PRs.
58+
59+
Rollup of 8 pull requests [#98904](https://github.com/rust-lang/rust/pull/98904)
60+
[(Comparison Link)](https://perf.rust-lang.org/compare.html?start=27eb6d7018e397cf98d51c205e3576951d766323&end=e1d1848cc60a407d06f90fd16877a19bed6edd9b&stat=instructions:u)
61+
62+
| | mean | max | count |
63+
|:----------:|:----:|:---:|:-----:|
64+
| Regressions 😿 <br /> (primary) | 0.7% | 0.9% | 8 |
65+
| Regressions 😿 <br /> (secondary) | 1.1% | 2.3% | 16 |
66+
| Improvements πŸŽ‰ <br /> (primary) | N/A | N/A | 0 |
67+
| Improvements πŸŽ‰ <br /> (secondary) | N/A | N/A | 0 |
68+
| All πŸ˜ΏπŸŽ‰ (primary) | 0.7% | 0.9% | 8 |
69+
70+
Interestingly, regressions here are remarkably similar to those in #98874
71+
(previous rollup in this list). Not seeing an obvious connection between the PRs
72+
in the two rollups, though.
73+
74+
#### Improvements
75+
76+
proc_macro/bridge: stop using a remote object handle for proc_macro Punct and Group [#98188](https://github.com/rust-lang/rust/pull/98188)
77+
[(Comparison Link)](https://perf.rust-lang.org/compare.html?start=00ebeb87ac87a492bd59ace6bd43d6ad1629ca4e&end=94e93749ab00539a11e90426ea87382c433530a8&stat=instructions:u)
78+
79+
| | mean | max | count |
80+
|:----------:|:----:|:---:|:-----:|
81+
| Regressions 😿 <br /> (primary) | N/A | N/A | 0 |
82+
| Regressions 😿 <br /> (secondary) | N/A | N/A | 0 |
83+
| Improvements πŸŽ‰ <br /> (primary) | -0.5% | -1.4% | 15 |
84+
| Improvements πŸŽ‰ <br /> (secondary) | -1.6% | -5.0% | 16 |
85+
| All πŸ˜ΏπŸŽ‰ (primary) | -0.5% | -1.4% | 15 |
86+
87+
88+
Update `smallvec` to 1.8.1. [#98558](https://github.com/rust-lang/rust/pull/98558)
89+
[(Comparison Link)](https://perf.rust-lang.org/compare.html?start=493c960a3e6cdd2e2fbe8b6ea130fadea05f1ab0&end=66c83ffca1512ed76f9445ec7f7280f768ef71c4&stat=instructions:u)
90+
91+
| | mean | max | count |
92+
|:----------:|:----:|:---:|:-----:|
93+
| Regressions 😿 <br /> (primary) | N/A | N/A | 0 |
94+
| Regressions 😿 <br /> (secondary) | N/A | N/A | 0 |
95+
| Improvements πŸŽ‰ <br /> (primary) | N/A | N/A | 0 |
96+
| Improvements πŸŽ‰ <br /> (secondary) | -1.7% | -2.4% | 9 |
97+
| All πŸ˜ΏπŸŽ‰ (primary) | N/A | N/A | 0 |
98+
99+
100+
CTFE interning: don't walk allocations that don't need it [#97585](https://github.com/rust-lang/rust/pull/97585)
101+
[(Comparison Link)](https://perf.rust-lang.org/compare.html?start=6a1092056441652fe5fe5c5b422644951e6b99ce&end=750d6f85459356db4838dc06db8b19406e1ed31a&stat=instructions:u)
102+
103+
| | mean | max | count |
104+
|:----------:|:----:|:---:|:-----:|
105+
| Regressions 😿 <br /> (primary) | N/A | N/A | 0 |
106+
| Regressions 😿 <br /> (secondary) | N/A | N/A | 0 |
107+
| Improvements πŸŽ‰ <br /> (primary) | -1.0% | -1.0% | 2 |
108+
| Improvements πŸŽ‰ <br /> (secondary) | -2.5% | -9.3% | 32 |
109+
| All πŸ˜ΏπŸŽ‰ (primary) | -1.0% | -1.0% | 2 |
110+
111+
112+
Optimize `Vec::insert` for the case where `index == len`. [#98755](https://github.com/rust-lang/rust/pull/98755)
113+
[(Comparison Link)](https://perf.rust-lang.org/compare.html?start=ada8c80bedb713b320af00aacab97d01d9cb5933&end=f99f9e48ed77a99747c6d07b42fdfe500f1a7de0&stat=instructions:u)
114+
115+
| | mean | max | count |
116+
|:----------:|:----:|:---:|:-----:|
117+
| Regressions 😿 <br /> (primary) | N/A | N/A | 0 |
118+
| Regressions 😿 <br /> (secondary) | N/A | N/A | 0 |
119+
| Improvements πŸŽ‰ <br /> (primary) | -0.4% | -1.0% | 8 |
120+
| Improvements πŸŽ‰ <br /> (secondary) | -1.2% | -2.4% | 13 |
121+
| All πŸ˜ΏπŸŽ‰ (primary) | -0.4% | -1.0% | 8 |
122+
123+
124+
fully move dropck to mir [#98641](https://github.com/rust-lang/rust/pull/98641)
125+
[(Comparison Link)](https://perf.rust-lang.org/compare.html?start=9c9ae85a4773be3c1e33717e4fa9759b4ce020ef&end=a3beeaa84da241f35888338ded6659938206ff13&stat=instructions:u)
126+
127+
| | mean | max | count |
128+
|:----------:|:----:|:---:|:-----:|
129+
| Regressions 😿 <br /> (primary) | 0.5% | 0.7% | 2 |
130+
| Regressions 😿 <br /> (secondary) | N/A | N/A | 0 |
131+
| Improvements πŸŽ‰ <br /> (primary) | -0.7% | -2.4% | 34 |
132+
| Improvements πŸŽ‰ <br /> (secondary) | -0.8% | -2.1% | 22 |
133+
| All πŸ˜ΏπŸŽ‰ (primary) | -0.7% | -2.4% | 36 |
134+
135+
136+
interpret: track place alignment together with the type, not the value [#98846](https://github.com/rust-lang/rust/pull/98846)
137+
[(Comparison Link)](https://perf.rust-lang.org/compare.html?start=e1d1848cc60a407d06f90fd16877a19bed6edd9b&end=4008dd8c6d92a0b81528fd138c6130d784e5958e&stat=instructions:u)
138+
139+
| | mean | max | count |
140+
|:----------:|:----:|:---:|:-----:|
141+
| Regressions 😿 <br /> (primary) | N/A | N/A | 0 |
142+
| Regressions 😿 <br /> (secondary) | N/A | N/A | 0 |
143+
| Improvements πŸŽ‰ <br /> (primary) | -0.7% | -0.9% | 8 |
144+
| Improvements πŸŽ‰ <br /> (secondary) | -1.2% | -2.3% | 13 |
145+
| All πŸ˜ΏπŸŽ‰ (primary) | -0.7% | -0.9% | 8 |
146+
147+
148+
#### Mixed
149+
150+
Rollup of 9 pull requests [#98612](https://github.com/rust-lang/rust/pull/98612)
151+
[(Comparison Link)](https://perf.rust-lang.org/compare.html?start=baf382e63c023259fa1f9042f8f479f183ca6ed3&end=00ebeb87ac87a492bd59ace6bd43d6ad1629ca4e&stat=instructions:u)
152+
153+
| | mean | max | count |
154+
|:----------:|:----:|:---:|:-----:|
155+
| Regressions 😿 <br /> (primary) | 0.7% | 1.0% | 5 |
156+
| Regressions 😿 <br /> (secondary) | 5.2% | 9.9% | 6 |
157+
| Improvements πŸŽ‰ <br /> (primary) | -1.0% | -1.1% | 2 |
158+
| Improvements πŸŽ‰ <br /> (secondary) | -0.8% | -2.4% | 22 |
159+
| All πŸ˜ΏπŸŽ‰ (primary) | 0.2% | -1.1% | 7 |
160+
161+
162+
Rollup of 7 pull requests [#98656](https://github.com/rust-lang/rust/pull/98656)
163+
[(Comparison Link)](https://perf.rust-lang.org/compare.html?start=116edb6800ea1d6615578e7f65366ae65364b3d8&end=493c960a3e6cdd2e2fbe8b6ea130fadea05f1ab0&stat=instructions:u)
164+
165+
| | mean | max | count |
166+
|:----------:|:----:|:---:|:-----:|
167+
| Regressions 😿 <br /> (primary) | 1.4% | 11.3% | 131 |
168+
| Regressions 😿 <br /> (secondary) | 3.5% | 11.2% | 73 |
169+
| Improvements πŸŽ‰ <br /> (primary) | N/A | N/A | 0 |
170+
| Improvements πŸŽ‰ <br /> (secondary) | -2.2% | -3.1% | 8 |
171+
| All πŸ˜ΏπŸŽ‰ (primary) | 1.4% | 11.3% | 131 |
172+
173+
Asked for further investigation on the PR, noting
174+
[#98277](https://github.com/rust-lang/rust/pull/98277) as a possible cause.
175+
176+
move MIR syntax into a dedicated file and ping some people whenever it changes [#98649](https://github.com/rust-lang/rust/pull/98649)
177+
[(Comparison Link)](https://perf.rust-lang.org/compare.html?start=5d3c6d6c83edc4ef245e77397c8e32d3ee453b67&end=a9eb9c52f3e8d8b6402e6acc69b9bcfc4f371d58&stat=instructions:u)
178+
179+
| | mean | max | count |
180+
|:----------:|:----:|:---:|:-----:|
181+
| Regressions 😿 <br /> (primary) | 0.5% | 0.5% | 1 |
182+
| Regressions 😿 <br /> (secondary) | 1.6% | 4.3% | 20 |
183+
| Improvements πŸŽ‰ <br /> (primary) | -0.3% | -0.4% | 5 |
184+
| Improvements πŸŽ‰ <br /> (secondary) | -0.3% | -0.3% | 3 |
185+
| All πŸ˜ΏπŸŽ‰ (primary) | -0.2% | 0.5% | 6 |
186+
187+
This is *probably* noise, but it's not very clear. Regressions are minor enough
188+
that further investigation does not seem warranted.
189+
190+
Enable MIR inlining [#91743](https://github.com/rust-lang/rust/pull/91743)
191+
[(Comparison Link)](https://perf.rust-lang.org/compare.html?start=aedf78e56b2279cc869962feac5153b6ba7001ed&end=0075bb4fad68e64b6d1be06bf2db366c30bc75e1&stat=instructions:u)
192+
193+
| | mean | max | count |
194+
|:----------:|:----:|:---:|:-----:|
195+
| Regressions 😿 <br /> (primary) | 1.3% | 7.2% | 54 |
196+
| Regressions 😿 <br /> (secondary) | 1.7% | 6.1% | 68 |
197+
| Improvements πŸŽ‰ <br /> (primary) | -2.6% | -10.0% | 118 |
198+
| Improvements πŸŽ‰ <br /> (secondary) | -3.4% | -17.3% | 76 |
199+
| All πŸ˜ΏπŸŽ‰ (primary) | -1.4% | -10.0% | 172 |
200+
201+
A fairly large improvement for some benchmarks, and particularly large for
202+
bootstrap times (nearly 9% win). There are some fairly large regressions to a
203+
few select benchmarks which stress the inlining more than helping LLVM (e.g.,
204+
stm32f4), but overall this is a great improvement in many cases.
205+
206+
Avoid unnecessary work in `finalize_resolutions_in`. [#98569](https://github.com/rust-lang/rust/pull/98569)
207+
[(Comparison Link)](https://perf.rust-lang.org/compare.html?start=f2d93935ffba3ab9d7ccb5300771a2d29b4c8bf3&end=5f98537eb7b5f42c246a52c550813c3cff336069&stat=instructions:u)
208+
209+
| | mean | max | count |
210+
|:----------:|:----:|:---:|:-----:|
211+
| Regressions 😿 <br /> (primary) | 0.3% | 0.5% | 7 |
212+
| Regressions 😿 <br /> (secondary) | 0.5% | 0.7% | 7 |
213+
| Improvements πŸŽ‰ <br /> (primary) | -1.0% | -1.0% | 2 |
214+
| Improvements πŸŽ‰ <br /> (secondary) | -2.1% | -2.4% | 6 |
215+
| All πŸ˜ΏπŸŽ‰ (primary) | 0.0% | -1.0% | 9 |
216+
217+
Wins/losses balance out; already labeled as triaged.
218+
219+
Don't use match-destructuring for derived ops on structs. [#98446](https://github.com/rust-lang/rust/pull/98446)
220+
[(Comparison Link)](https://perf.rust-lang.org/compare.html?start=2557603f320593be9d1c29a453c648e61e74d343&end=d46c728bcda687b1cf5f3bedca3d501e797b2a0f&stat=instructions:u)
221+
222+
| | mean | max | count |
223+
|:----------:|:----:|:---:|:-----:|
224+
| Regressions 😿 <br /> (primary) | N/A | N/A | 0 |
225+
| Regressions 😿 <br /> (secondary) | 1.3% | 1.9% | 19 |
226+
| Improvements πŸŽ‰ <br /> (primary) | -0.6% | -1.5% | 66 |
227+
| Improvements πŸŽ‰ <br /> (secondary) | -5.4% | -12.3% | 33 |
228+
| All πŸ˜ΏπŸŽ‰ (primary) | -0.6% | -1.5% | 66 |
229+
230+
Overall an excellent, though somewhat small, improvement. Regressions are small
231+
and limited to a couple very artificial stress tests rather than real-world
232+
benchmarks.

0 commit comments

Comments
Β (0)