Skip to content

Commit e2fc392

Browse files
authored
Merge pull request #1614 from pnkfelix/triage-2023-06-13
triage for 2023-06-13
2 parents fa841a1 + 7cbcaf1 commit e2fc392

File tree

1 file changed

+266
-0
lines changed

1 file changed

+266
-0
lines changed

triage/2023-06-13.md

Lines changed: 266 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,266 @@
1+
# 2023-06-13 Triage Log
2+
3+
Our build pipeline got sped up by PR #112012, which side-steps one of the rustc
4+
rebuilds we were suffering with before. (There is further potential speed-up by
5+
caching LLVM, as noted by on that PR.) Other than that, various small
6+
regressions that are largely noise, as well as one unexpected increase in binary
7+
sizes from PR #109005 that we should follow up on.
8+
9+
Triage done by **@pnkfelix**.
10+
Revision range: [adc719d7..4bd4e2ea](https://perf.rust-lang.org/?start=adc719d7147d5e2578ce08e0b4504be44650256e&end=4bd4e2ea824f4f458cae8917047ebb6b88853fe6&absolute=false&stat=instructions%3Au)
11+
12+
**Summary**:
13+
14+
| (instructions:u) | mean | range | count |
15+
|:----------------------------------:|:-----:|:--------------:|:-----:|
16+
| Regressions ❌ <br /> (primary) | 2.5% | [0.2%, 21.6%] | 84 |
17+
| Regressions ❌ <br /> (secondary) | 6.2% | [0.2%, 21.0%] | 105 |
18+
| Improvements ✅ <br /> (primary) | -0.8% | [-1.6%, -0.2%] | 26 |
19+
| Improvements ✅ <br /> (secondary) | -0.7% | [-1.2%, -0.2%] | 19 |
20+
| All ❌✅ (primary) | 1.7% | [-1.6%, 21.6%] | 110 |
21+
22+
23+
7 Regressions, 3 Improvements, 5 Mixed; 5 of them in rollups
24+
46 artifact comparisons made in total
25+
26+
#### Regressions
27+
28+
Misc HIR typeck type mismatch tweaks [#112116](https://github.com/rust-lang/rust/pull/112116) [(Comparison Link)](https://perf.rust-lang.org/compare.html?start=68c8fdaac071432c0a5c149ece5c094449fbe8e0&end=9c843d9fa322596c7d525c78fa89731ecf7afbfe&stat=instructions:u)
29+
30+
| (instructions:u) | mean | range | count |
31+
|:----------------------------------:|:-----:|:--------------:|:-----:|
32+
| Regressions ❌ <br /> (primary) | 0.7% | [0.7%, 0.8%] | 3 |
33+
| Regressions ❌ <br /> (secondary) | 0.4% | [0.3%, 0.7%] | 11 |
34+
| Improvements ✅ <br /> (primary) | - | - | 0 |
35+
| Improvements ✅ <br /> (secondary) | -0.2% | [-0.2%, -0.2%] | 1 |
36+
| All ❌✅ (primary) | 0.7% | [0.7%, 0.8%] | 3 |
37+
38+
* only primary benchmark to regress was helloworld (3 incr check variants), and not by all that much (relatively speaking)
39+
* secondary regressions were mainly to unify-linearly, await-call-tree, token-stream-stress.
40+
* impact seems acceptable, marking as triaged.
41+
42+
Uplift `clippy::undropped_manually_drops` lint [#111530](https://github.com/rust-lang/rust/pull/111530) [(Comparison Link)](https://perf.rust-lang.org/compare.html?start=343ad6f0596fa3222f3168b74b3e8571066e77bb&end=d7ad9d9797e595e9daed98c291a8eb6e4be838ff&stat=instructions:u)
43+
44+
| (instructions:u) | mean | range | count |
45+
|:----------------------------------:|:----:|:------------:|:-----:|
46+
| Regressions ❌ <br /> (primary) | 0.7% | [0.6%, 0.7%] | 3 |
47+
| Regressions ❌ <br /> (secondary) | 0.5% | [0.3%, 0.6%] | 8 |
48+
| Improvements ✅ <br /> (primary) | - | - | 0 |
49+
| Improvements ✅ <br /> (secondary) | - | - | 0 |
50+
| All ❌✅ (primary) | 0.7% | [0.6%, 0.7%] | 3 |
51+
52+
* only primary benchmark to regress was helloworld (3 incr check variants), and not by all that much (relatively speaking)
53+
* secondary regressions were solely to unify-linearly, await-call-tree, token-stream-stress.
54+
* impact seems acceptable (one expects new lint to add some amount of extra work, and I wouldn't be surprised if this is actually noise,. given #112116 above).
55+
* marking as triaged.
56+
57+
58+
Rollup of 3 pull requests [#112465](https://github.com/rust-lang/rust/pull/112465) [(Comparison Link)](https://perf.rust-lang.org/compare.html?start=d7ad9d9797e595e9daed98c291a8eb6e4be838ff&end=397641f3bd4f4211d0a1e9ada8d477bf495735b2&stat=instructions:u)
59+
60+
| (instructions:u) | mean | range | count |
61+
|:----------------------------------:|:----:|:-------------:|:-----:|
62+
| Regressions ❌ <br /> (primary) | 4.2% | [0.4%, 14.8%] | 6 |
63+
| Regressions ❌ <br /> (secondary) | - | - | 0 |
64+
| Improvements ✅ <br /> (primary) | - | - | 0 |
65+
| Improvements ✅ <br /> (secondary) | - | - | 0 |
66+
| All ❌✅ (primary) | 4.2% | [0.4%, 14.8%] | 6 |
67+
68+
* already marked as triaged (expected regressions to doc benchmarks)
69+
70+
increase the accuracy of effective visibilities calculation [#112426](https://github.com/rust-lang/rust/pull/112426) [(Comparison Link)](https://perf.rust-lang.org/compare.html?start=43062c43d2a63cf4e261c6eddc417575c4f3062f&end=29611778b708f95d153fa591a50ac8702dfc0fd5&stat=instructions:u)
71+
72+
| (instructions:u) | mean | range | count |
73+
|:----------------------------------:|:----:|:------------:|:-----:|
74+
| Regressions ❌ <br /> (primary) | 0.4% | [0.2%, 0.6%] | 10 |
75+
| Regressions ❌ <br /> (secondary) | 1.2% | [0.6%, 1.9%] | 9 |
76+
| Improvements ✅ <br /> (primary) | - | - | 0 |
77+
| Improvements ✅ <br /> (secondary) | - | - | 0 |
78+
| All ❌✅ (primary) | 0.4% | [0.2%, 0.6%] | 10 |
79+
80+
* primary regressions are to serde (check, debug, opt) and also cargo + webrender (both check)
81+
* This PR added some extra work to the compiler to ensure some lazily-filled in tables are constructed correctly.
82+
* Therefore, this seems like extra work that is largely unavoidable.
83+
* marking as triaged.
84+
85+
rustdoc: re-elide cross-crate default trait-object lifetime bounds [#107637](https://github.com/rust-lang/rust/pull/107637) [(Comparison Link)](https://perf.rust-lang.org/compare.html?start=ef8ee73fc4ff70a426e71f900441f040db252dae&end=7820972f866ca2cea281ccc39201c0cd27087110&stat=instructions:u)
86+
87+
| (instructions:u) | mean | range | count |
88+
|:----------------------------------:|:----:|:------------:|:-----:|
89+
| Regressions ❌ <br /> (primary) | 0.4% | [0.3%, 0.9%] | 12 |
90+
| Regressions ❌ <br /> (secondary) | 0.7% | [0.3%, 0.9%] | 18 |
91+
| Improvements ✅ <br /> (primary) | - | - | 0 |
92+
| Improvements ✅ <br /> (secondary) | - | - | 0 |
93+
| All ❌✅ (primary) | 0.4% | [0.3%, 0.9%] | 12 |
94+
95+
* already marked as triaged (expected regressions to doc benchmarks)
96+
97+
98+
Rollup of 3 pull requests [#112530](https://github.com/rust-lang/rust/pull/112530) [(Comparison Link)](https://perf.rust-lang.org/compare.html?start=81c02da94e5f5ec1ec4732e75049c3a3cb4d6c7a&end=37998ab508d5d9fa0d465d7b535dc673087dda8f&stat=instructions:u)
99+
100+
| (instructions:u) | mean | range | count |
101+
|:----------------------------------:|:----:|:-------------:|:-----:|
102+
| Regressions ❌ <br /> (primary) | 9.3% | [0.6%, 21.0%] | 19 |
103+
| Regressions ❌ <br /> (secondary) | 8.7% | [1.0%, 20.8%] | 71 |
104+
| Improvements ✅ <br /> (primary) | - | - | 0 |
105+
| Improvements ✅ <br /> (secondary) | - | - | 0 |
106+
| All ❌✅ (primary) | 9.3% | [0.6%, 21.0%] | 19 |
107+
108+
* One of the rolled up PRs, PR #112528, is itself a partial revert of PR #110221, which yields the large compile-time losses noted here (solely for helloworld, it is worth noting).
109+
* the point is, the gains were 1. accidental 2. isolated to a toy and 3. due to an unintended change (which was now reverted).
110+
* marking as triaged.
111+
112+
Private-in-public lints implementation [#111801](https://github.com/rust-lang/rust/pull/111801) [(Comparison Link)](https://perf.rust-lang.org/compare.html?start=37998ab508d5d9fa0d465d7b535dc673087dda8f&end=77dba225c1048e5585b2cdefb7f8588bd2d2741b&stat=instructions:u)
113+
114+
| (instructions:u) | mean | range | count |
115+
|:----------------------------------:|:----:|:------------:|:-----:|
116+
| Regressions ❌ <br /> (primary) | 0.2% | [0.1%, 0.2%] | 3 |
117+
| Regressions ❌ <br /> (secondary) | 0.6% | [0.2%, 1.1%] | 3 |
118+
| Improvements ✅ <br /> (primary) | - | - | 0 |
119+
| Improvements ✅ <br /> (secondary) | - | - | 0 |
120+
| All ❌✅ (primary) | 0.2% | [0.1%, 0.2%] | 3 |
121+
122+
* primary regressions were to stm32f4-0.14.0 check+opt incr, but by a really small amount (0.18%).
123+
* marking as triaged.
124+
125+
#### Improvements
126+
127+
Avoid one `rustc` rebuild in the optimized build pipeline [#112012](https://github.com/rust-lang/rust/pull/112012) [(Comparison Link)](https://perf.rust-lang.org/compare.html?start=f383703e32dc583468a702213eff63c58c7f9ef5&end=50f2176721a08c0c5673db924a95c0544316682c&stat=instructions:u)
128+
129+
| (instructions:u) | mean | range | count |
130+
|:----------------------------------:|:-----:|:--------------:|:-----:|
131+
| Regressions ❌ <br /> (primary) | 0.4% | [0.4%, 0.5%] | 2 |
132+
| Regressions ❌ <br /> (secondary) | - | - | 0 |
133+
| Improvements ✅ <br /> (primary) | -0.9% | [-1.6%, -0.3%] | 26 |
134+
| Improvements ✅ <br /> (secondary) | -1.1% | [-1.2%, -0.9%] | 11 |
135+
| All ❌✅ (primary) | -0.8% | [-1.6%, 0.5%] | 28 |
136+
137+
* Interesting case where removing PGO data improved a class of benchmarks
138+
* Specifically, nearly all the improvements were to debug builds
139+
* this makes sense, because the PGO data we were gathering was during rustc bootstrap, which does not exercise the debug build paths.
140+
141+
142+
Rollup of 5 pull requests [#112450](https://github.com/rust-lang/rust/pull/112450) [(Comparison Link)](https://perf.rust-lang.org/compare.html?start=9c843d9fa322596c7d525c78fa89731ecf7afbfe&end=dcc9028c0ce30c3b37f3ca9faf637a9f3ccd5bcb&stat=instructions:u)
143+
144+
| (instructions:u) | mean | range | count |
145+
|:----------------------------------:|:-----:|:--------------:|:-----:|
146+
| Regressions ❌ <br /> (primary) | - | - | 0 |
147+
| Regressions ❌ <br /> (secondary) | - | - | 0 |
148+
| Improvements ✅ <br /> (primary) | -0.6% | [-0.6%, -0.6%] | 3 |
149+
| Improvements ✅ <br /> (secondary) | -0.4% | [-0.6%, -0.3%] | 8 |
150+
| All ❌✅ (primary) | -0.6% | [-0.6%, -0.6%] | 3 |
151+
152+
153+
[rustdoc] Fix infinite loop when retrieving impls for type alias [#112543](https://github.com/rust-lang/rust/pull/112543) [(Comparison Link)](https://perf.rust-lang.org/compare.html?start=fd0a3313f7a64cb16533030e49a271db449368c3&end=cb882fa998571e8a7ec1c06bb5d9dd9bc3423629&stat=instructions:u)
154+
155+
| (instructions:u) | mean | range | count |
156+
|:----------------------------------:|:-----:|:---------------:|:-----:|
157+
| Regressions ❌ <br /> (primary) | - | - | 0 |
158+
| Regressions ❌ <br /> (secondary) | - | - | 0 |
159+
| Improvements ✅ <br /> (primary) | -3.8% | [-12.9%, -0.4%] | 6 |
160+
| Improvements ✅ <br /> (secondary) | - | - | 0 |
161+
| All ❌✅ (primary) | -3.8% | [-12.9%, -0.4%] | 6 |
162+
163+
164+
#### Mixed
165+
166+
Use `load`+`store` instead of `memcpy` for small integer arrays [#111999](https://github.com/rust-lang/rust/pull/111999) [(Comparison Link)](https://perf.rust-lang.org/compare.html?start=adc719d7147d5e2578ce08e0b4504be44650256e&end=fd9bf594366e73efb1a26a023e0b4de8eff82b94&stat=instructions:u)
167+
168+
| (instructions:u) | mean | range | count |
169+
|:----------------------------------:|:-----:|:--------------:|:-----:|
170+
| Regressions ❌ <br /> (primary) | - | - | 0 |
171+
| Regressions ❌ <br /> (secondary) | 2.2% | [0.1%, 5.7%] | 3 |
172+
| Improvements ✅ <br /> (primary) | - | - | 0 |
173+
| Improvements ✅ <br /> (secondary) | -0.3% | [-0.3%, -0.3%] | 4 |
174+
| All ❌✅ (primary) | - | - | 0 |
175+
176+
* changes are all to secondary benchmarks
177+
* only notable was coercions debug incr-full regressing by 5.7%, but that's acceptable given what we expect benefits to be here w.r.t. codegen.
178+
* marking as triaged.
179+
180+
Update to LLVM 16.0.5 [#112312](https://github.com/rust-lang/rust/pull/112312) [(Comparison Link)](https://perf.rust-lang.org/compare.html?start=fd9bf594366e73efb1a26a023e0b4de8eff82b94&end=3572d7451d1062e8bccf310af6bbf6255091d296&stat=instructions:u)
181+
182+
| (instructions:u) | mean | range | count |
183+
|:----------------------------------:|:-----:|:--------------:|:-----:|
184+
| Regressions ❌ <br /> (primary) | - | - | 0 |
185+
| Regressions ❌ <br /> (secondary) | 0.3% | [0.2%, 0.3%] | 5 |
186+
| Improvements ✅ <br /> (primary) | - | - | 0 |
187+
| Improvements ✅ <br /> (secondary) | -5.2% | [-5.2%, -5.2%] | 1 |
188+
| All ❌✅ (primary) | - | - | 0 |
189+
190+
* effects are all to secondary benchmarks
191+
* effects are small enough that they would not block an LLVM upgrade
192+
* marking as triaged.
193+
194+
Rollup of 7 pull requests [#112344](https://github.com/rust-lang/rust/pull/112344) [(Comparison Link)](https://perf.rust-lang.org/compare.html?start=3572d7451d1062e8bccf310af6bbf6255091d296&end=b2b34bd83192c3d16c88655158f7d8d612513e88&stat=instructions:u)
195+
196+
| (instructions:u) | mean | range | count |
197+
|:----------------------------------:|:-----:|:--------------:|:-----:|
198+
| Regressions ❌ <br /> (primary) | - | - | 0 |
199+
| Regressions ❌ <br /> (secondary) | 5.4% | [5.4%, 5.4%] | 1 |
200+
| Improvements ✅ <br /> (primary) | -0.2% | [-0.2%, -0.2%] | 2 |
201+
| Improvements ✅ <br /> (secondary) | - | - | 0 |
202+
| All ❌✅ (primary) | -0.2% | [-0.2%, -0.2%] | 2 |
203+
204+
* sole regression is to secondary coercions debug incr-full.
205+
* not worth dissecting this rollup for that.
206+
* marking as triaged.
207+
208+
Remember names of `cfg`-ed out items to mention them in diagnostics [#109005](https://github.com/rust-lang/rust/pull/109005) [(Comparison Link)](https://perf.rust-lang.org/compare.html?start=b2807b2bf3be9fbed9a0aadc97841c20a1ab5f79&end=a97c36dd2e6f711949fc9b790476e93bd9e6d1f4&stat=instructions:u)
209+
210+
| (instructions:u) | mean | range | count |
211+
|:----------------------------------:|:-----:|:--------------:|:-----:|
212+
| Regressions ❌ <br /> (primary) | 0.4% | [0.3%, 0.5%] | 11 |
213+
| Regressions ❌ <br /> (secondary) | - | - | 0 |
214+
| Improvements ✅ <br /> (primary) | -0.2% | [-0.2%, -0.2%] | 3 |
215+
| Improvements ✅ <br /> (secondary) | -0.5% | [-0.6%, -0.4%] | 8 |
216+
| All ❌✅ (primary) | 0.2% | [-0.2%, 0.5%] | 14 |
217+
218+
* instruction counts regressed (expected) and binary sizes regressed (which may have been unexpected).
219+
* specifically the binary sizes for libc and syn both regressed on the order of 3%.
220+
* not marking as triaged until we get confirmation that it is expected for the metadata in question to leak into the binary sizes being measured.
221+
222+
Rollup of 4 pull requests [#112420](https://github.com/rust-lang/rust/pull/112420) [(Comparison Link)](https://perf.rust-lang.org/compare.html?start=e7409258db4a43f23dcc66e10061dee91c316055&end=a77659a1e1807ba567f513afe59115af2604dc30&stat=instructions:u)
223+
224+
| (instructions:u) | mean | range | count |
225+
|:----------------------------------:|:-----:|:--------------:|:-----:|
226+
| Regressions ❌ <br /> (primary) | 0.3% | [0.2%, 0.6%] | 5 |
227+
| Regressions ❌ <br /> (secondary) | 0.4% | [0.2%, 0.6%] | 7 |
228+
| Improvements ✅ <br /> (primary) | -0.3% | [-0.3%, -0.3%] | 2 |
229+
| Improvements ✅ <br /> (secondary) | -0.3% | [-0.3%, -0.2%] | 2 |
230+
| All ❌✅ (primary) | 0.2% | [-0.3%, 0.6%] | 7 |
231+
232+
* currently guessing that the regression here might be due to PR #109953.
233+
* doing a specific rust-timer run now to check that, not marking as triaged for now.
234+
235+
#### Untriaged Pull Requests
236+
237+
- [#112530 Rollup of 3 pull requests](https://github.com/rust-lang/rust/pull/112530)
238+
- [#112426 increase the accuracy of effective visibilities calculation](https://github.com/rust-lang/rust/pull/112426)
239+
- [#112420 Rollup of 4 pull requests](https://github.com/rust-lang/rust/pull/112420)
240+
- [#112344 Rollup of 7 pull requests](https://github.com/rust-lang/rust/pull/112344)
241+
- [#112312 Update to LLVM 16.0.5](https://github.com/rust-lang/rust/pull/112312)
242+
- [#112116 Misc HIR typeck type mismatch tweaks](https://github.com/rust-lang/rust/pull/112116)
243+
- [#112083 Make `TrustedStep` require `Copy`](https://github.com/rust-lang/rust/pull/112083)
244+
- [#112016 Rollup of 6 pull requests](https://github.com/rust-lang/rust/pull/112016)
245+
- [#112001 Enable MatchBranchSimplification](https://github.com/rust-lang/rust/pull/112001)
246+
- [#111999 Use `load`+`store` instead of `memcpy` for small integer arrays](https://github.com/rust-lang/rust/pull/111999)
247+
- [#111869 Rollup of 6 pull requests](https://github.com/rust-lang/rust/pull/111869)
248+
- [#111813 MIR: opt-in normalization of `BasicBlock` and `Local` numbering](https://github.com/rust-lang/rust/pull/111813)
249+
- [#111801 Private-in-public lints implementation](https://github.com/rust-lang/rust/pull/111801)
250+
- [#111623 move `super_relate_consts` hack to `normalize_param_env_or_error`](https://github.com/rust-lang/rust/pull/111623)
251+
- [#111530 Uplift `clippy::undropped_manually_drops` lint](https://github.com/rust-lang/rust/pull/111530)
252+
- [#111524 `ascii::Char`-ify the escaping code in `core`](https://github.com/rust-lang/rust/pull/111524)
253+
- [#111425 Populate effective visibilities in `rustc_privacy` (take 2)](https://github.com/rust-lang/rust/pull/111425)
254+
- [#111364 Remove the ThinLTO CU hack](https://github.com/rust-lang/rust/pull/111364)
255+
- [#111311 Rollup of 7 pull requests](https://github.com/rust-lang/rust/pull/111311)
256+
- [#111306 Update hashbrown from 0.12.3 to 0.13.1 for std](https://github.com/rust-lang/rust/pull/111306)
257+
- [#111221 Combine three generalizer implementations](https://github.com/rust-lang/rust/pull/111221)
258+
- [#111007 Disable nrvo mir opt](https://github.com/rust-lang/rust/pull/111007)
259+
- [#110967 Rollup of 8 pull requests](https://github.com/rust-lang/rust/pull/110967)
260+
- [#110546 Rollup of 10 pull requests](https://github.com/rust-lang/rust/pull/110546)
261+
- [#110542 resolve: Remove `module_children_untracked`](https://github.com/rust-lang/rust/pull/110542)
262+
- [#110440 Rollup of 7 pull requests](https://github.com/rust-lang/rust/pull/110440)
263+
- [#110012 Rollup of 7 pull requests](https://github.com/rust-lang/rust/pull/110012)
264+
- [#109900 Only enable ConstProp at mir-opt-level >= 2.](https://github.com/rust-lang/rust/pull/109900)
265+
- [#109732 Uplift `clippy::{drop,forget}_{ref,copy}` lints](https://github.com/rust-lang/rust/pull/109732)
266+
- [#109692 Rollup of 8 pull requests](https://github.com/rust-lang/rust/pull/109692)

0 commit comments

Comments
 (0)