Skip to content

Commit 2f18ecf

Browse files
authored
Merge pull request #1918 from pnkfelix/triage-2024-06-03
Triage 2024 06 03
2 parents 8d37b08 + fba75cc commit 2f18ecf

File tree

1 file changed

+221
-0
lines changed

1 file changed

+221
-0
lines changed

triage/2024-06-03.md

Lines changed: 221 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,221 @@
1+
# 2024-06-03 Triage Log
2+
3+
A quiet week; we did have one quite serious regression (#115105, "enable
4+
DestinationPropagation by default"), but it was shortly reverted (#125794).
5+
The only other PR identified as potentially problematic was rollup
6+
[PR #125824](https://github.com/rust-lang/rust/pull/125824), but even
7+
that is relatively limited in its effect.
8+
9+
Triage done by **@pnkfelix**.
10+
Revision range: [a59072ec..1d52972d](https://perf.rust-lang.org/?start=a59072ec4fb6824213df5e9de8cae4812fd4fe97&end=1d52972dd8592edf4026aa577c8ce69acc0ac2d1&absolute=false&stat=instructions%3Au)
11+
12+
**Summary**:
13+
14+
| (instructions:u) | mean | range | count |
15+
|:----------------------------------:|:-----:|:--------------:|:-----:|
16+
| Regressions ❌ <br /> (primary) | 0.9% | [0.2%, 2.0%] | 28 |
17+
| Regressions ❌ <br /> (secondary) | 0.4% | [0.2%, 0.6%] | 6 |
18+
| Improvements ✅ <br /> (primary) | -0.4% | [-1.2%, -0.2%] | 30 |
19+
| Improvements ✅ <br /> (secondary) | -0.5% | [-0.9%, -0.2%] | 24 |
20+
| All ❌✅ (primary) | 0.2% | [-1.2%, 2.0%] | 58 |
21+
22+
23+
3 Regressions, 5 Improvements, 6 Mixed; 4 of them in rollups
24+
57 artifact comparisons made in total
25+
26+
#### Regressions
27+
28+
Rollup of 5 pull requests [#125649](https://github.com/rust-lang/rust/pull/125649) [(Comparison Link)](https://perf.rust-lang.org/compare.html?start=c0d600385bb96cc23d3de8615ee37c01abba6c8a&end=f989d2f62500df1696eb797d8800a705293b43b9&stat=instructions:u)
29+
30+
| (instructions:u) | mean | range | count |
31+
|:----------------------------------:|:-----:|:--------------:|:-----:|
32+
| Regressions ❌ <br /> (primary) | 1.3% | [0.5%, 2.1%] | 12 |
33+
| Regressions ❌ <br /> (secondary) | 0.3% | [0.3%, 0.4%] | 3 |
34+
| Improvements ✅ <br /> (primary) | -0.1% | [-0.1%, -0.1%] | 1 |
35+
| Improvements ✅ <br /> (secondary) | - | - | 0 |
36+
| All ❌✅ (primary) | 1.2% | [-0.1%, 2.1%] | 13 |
37+
38+
* all 12 of the regressing primary benchmarks are diesel-1.4.8 (in a variety of configurations).
39+
* problem was isolated to PR #125089 (improve diagnostic output of non_local_definitions lint)
40+
* Urgau notes: "The lint triggers nearly 150 times in the version of diesel used by rustc-perf, so the benchmark has become a bit a linting machinery benchmark"
41+
* cc rustc-perf#1819
42+
* marked as triaged.
43+
44+
Rollup of 5 pull requests [#125665](https://github.com/rust-lang/rust/pull/125665) [(Comparison Link)](https://perf.rust-lang.org/compare.html?start=8c4db851a7bb64173832e6602638204ebbd373a8&end=274499dd0ff53b81e93b80520f7afe25adaa2812&stat=instructions:u)
45+
46+
| (instructions:u) | mean | range | count |
47+
|:----------------------------------:|:----:|:------------:|:-----:|
48+
| Regressions ❌ <br /> (primary) | 0.5% | [0.5%, 0.5%] | 1 |
49+
| Regressions ❌ <br /> (secondary) | 0.4% | [0.2%, 0.5%] | 7 |
50+
| Improvements ✅ <br /> (primary) | - | - | 0 |
51+
| Improvements ✅ <br /> (secondary) | - | - | 0 |
52+
| All ❌✅ (primary) | 0.5% | [0.5%, 0.5%] | 1 |
53+
54+
* helloworld is sole primary regression.
55+
* marked as triaged (my own opinion is that helloworld is a useful canary when it regresses by a more significant amount than this)
56+
* (also the 30-day history shows the story for helloworld to be quite a bit more complicated than what is presented by the effects of this single PR, there are lots of spikes mixed in there)
57+
58+
fn_arg_sanity_check: fix panic message [#125695](https://github.com/rust-lang/rust/pull/125695) [(Comparison Link)](https://perf.rust-lang.org/compare.html?start=5870f1ccbbb2661c92cdc356231386210a64d723&end=4cf5723dbe471ef0a32857b968b91498551f5e38&stat=instructions:u)
59+
60+
| (instructions:u) | mean | range | count |
61+
|:----------------------------------:|:----:|:------------:|:-----:|
62+
| Regressions ❌ <br /> (primary) | 0.8% | [0.8%, 0.9%] | 4 |
63+
| Regressions ❌ <br /> (secondary) | 0.5% | [0.2%, 1.5%] | 19 |
64+
| Improvements ✅ <br /> (primary) | - | - | 0 |
65+
| Improvements ✅ <br /> (secondary) | - | - | 0 |
66+
| All ❌✅ (primary) | 0.8% | [0.8%, 0.9%] | 4 |
67+
68+
* helloworld is the sole primary regression.
69+
* (already) marked as triaged
70+
71+
#### Improvements
72+
73+
Omit non-needs_drop drop_in_place in vtables [#122662](https://github.com/rust-lang/rust/pull/122662) [(Comparison Link)](https://perf.rust-lang.org/compare.html?start=7717a306b2678ba9ece19b723c76a6b3a89ba931&end=8c4db851a7bb64173832e6602638204ebbd373a8&stat=instructions:u)
74+
75+
| (instructions:u) | mean | range | count |
76+
|:----------------------------------:|:-----:|:--------------:|:-----:|
77+
| Regressions ❌ <br /> (primary) | - | - | 0 |
78+
| Regressions ❌ <br /> (secondary) | - | - | 0 |
79+
| Improvements ✅ <br /> (primary) | -0.6% | [-1.5%, -0.2%] | 9 |
80+
| Improvements ✅ <br /> (secondary) | -0.5% | [-1.0%, -0.2%] | 18 |
81+
| All ❌✅ (primary) | -0.6% | [-1.5%, -0.2%] | 9 |
82+
83+
* improvements are to helloworld-opt and regex-opt.
84+
* small but seems real given nature of PR (largely a binary size reduction)
85+
86+
Update cargo [#125682](https://github.com/rust-lang/rust/pull/125682) [(Comparison Link)](https://perf.rust-lang.org/compare.html?start=274499dd0ff53b81e93b80520f7afe25adaa2812&end=da159eb331b27df528185c616b394bb0e1d2a4bd&stat=instructions:u)
87+
88+
| (instructions:u) | mean | range | count |
89+
|:----------------------------------:|:-----:|:--------------:|:-----:|
90+
| Regressions ❌ <br /> (primary) | - | - | 0 |
91+
| Regressions ❌ <br /> (secondary) | - | - | 0 |
92+
| Improvements ✅ <br /> (primary) | -0.5% | [-0.6%, -0.5%] | 3 |
93+
| Improvements ✅ <br /> (secondary) | -0.4% | [-0.5%, -0.2%] | 12 |
94+
| All ❌✅ (primary) | -0.5% | [-0.6%, -0.5%] | 3 |
95+
96+
* improvements are to helloworld-check
97+
* probably just noise
98+
99+
Stabilize `custom_code_classes_in_docs` feature [#124577](https://github.com/rust-lang/rust/pull/124577) [(Comparison Link)](https://perf.rust-lang.org/compare.html?start=466be510af95d377a4e9997a6ab7c4db5f91e9ec&end=05965ae238403d8c141170b411245a62aa046240&stat=instructions:u)
100+
101+
| (instructions:u) | mean | range | count |
102+
|:----------------------------------:|:-----:|:--------------:|:-----:|
103+
| Regressions ❌ <br /> (primary) | - | - | 0 |
104+
| Regressions ❌ <br /> (secondary) | - | - | 0 |
105+
| Improvements ✅ <br /> (primary) | -0.4% | [-0.8%, -0.2%] | 9 |
106+
| Improvements ✅ <br /> (secondary) | -0.7% | [-0.9%, -0.5%] | 2 |
107+
| All ❌✅ (primary) | -0.4% | [-0.8%, -0.2%] | 9 |
108+
109+
* improvements are to various doc-full benchmarks.
110+
* Probably measurement bias (unless somehow the stability checks are a noticeable expense?)
111+
112+
Increase vtable layout size [#123572](https://github.com/rust-lang/rust/pull/123572) [(Comparison Link)](https://perf.rust-lang.org/compare.html?start=acaf0aeed0dfbfc4be9f996344e2c5f294cf5794&end=f2208b32971faba7fa6bf09bd0821adbf3db0c00&stat=instructions:u)
113+
114+
| (instructions:u) | mean | range | count |
115+
|:----------------------------------:|:-----:|:--------------:|:-----:|
116+
| Regressions ❌ <br /> (primary) | - | - | 0 |
117+
| Regressions ❌ <br /> (secondary) | - | - | 0 |
118+
| Improvements ✅ <br /> (primary) | - | - | 0 |
119+
| Improvements ✅ <br /> (secondary) | -0.3% | [-0.6%, -0.2%] | 10 |
120+
| All ❌✅ (primary) | - | - | 0 |
121+
122+
* all "improvements" are to secondary benchmarks: unify-linearly, match-stress, and unused-warnings
123+
* (the improvement from this PR is expected to be realized in runtime performance, especially for code heavy with vtable lookups. Its unsurprising that it wouldn't have a noticeable effect on the compiler tooolchain.)
124+
125+
Avoid checking the edition as much as possible [#125828](https://github.com/rust-lang/rust/pull/125828) [(Comparison Link)](https://perf.rust-lang.org/compare.html?start=eda9d7f987de76b9d61c633a6ac328936e1b94f0&end=a6416d8907bc94ef1a032d54cb0443cde963e455&stat=instructions:u)
126+
127+
| (instructions:u) | mean | range | count |
128+
|:----------------------------------:|:-----:|:--------------:|:-----:|
129+
| Regressions ❌ <br /> (primary) | - | - | 0 |
130+
| Regressions ❌ <br /> (secondary) | - | - | 0 |
131+
| Improvements ✅ <br /> (primary) | -0.4% | [-0.4%, -0.3%] | 6 |
132+
| Improvements ✅ <br /> (secondary) | -0.4% | [-0.5%, -0.3%] | 4 |
133+
| All ❌✅ (primary) | -0.4% | [-0.4%, -0.3%] | 6 |
134+
135+
* this is recovering performance that was lost in PR #123865
136+
137+
#### Mixed
138+
139+
Create const block DefIds in typeck instead of ast lowering [#124650](https://github.com/rust-lang/rust/pull/124650) [(Comparison Link)](https://perf.rust-lang.org/compare.html?start=f989d2f62500df1696eb797d8800a705293b43b9&end=7717a306b2678ba9ece19b723c76a6b3a89ba931&stat=instructions:u)
140+
141+
| (instructions:u) | mean | range | count |
142+
|:----------------------------------:|:-----:|:--------------:|:-----:|
143+
| Regressions ❌ <br /> (primary) | 0.2% | [0.2%, 0.2%] | 2 |
144+
| Regressions ❌ <br /> (secondary) | 0.2% | [0.2%, 0.2%] | 3 |
145+
| Improvements ✅ <br /> (primary) | -0.5% | [-0.6%, -0.3%] | 6 |
146+
| Improvements ✅ <br /> (secondary) | -0.3% | [-0.3%, -0.3%] | 1 |
147+
| All ❌✅ (primary) | -0.3% | [-0.6%, 0.2%] | 8 |
148+
149+
* as previously noted by @lqd : "Tiny changes, and overall more gains than losses, probably not worth investigation effort imho."
150+
* marking as triaged
151+
152+
Rollup of 8 pull requests [#125691](https://github.com/rust-lang/rust/pull/125691) [(Comparison Link)](https://perf.rust-lang.org/compare.html?start=da159eb331b27df528185c616b394bb0e1d2a4bd&end=751691271d76b8435559200b84d1947c2bd735bd&stat=instructions:u)
153+
154+
| (instructions:u) | mean | range | count |
155+
|:----------------------------------:|:-----:|:--------------:|:-----:|
156+
| Regressions ❌ <br /> (primary) | 0.4% | [0.4%, 0.4%] | 1 |
157+
| Regressions ❌ <br /> (secondary) | 1.2% | [1.2%, 1.2%] | 1 |
158+
| Improvements ✅ <br /> (primary) | -0.5% | [-0.6%, -0.4%] | 2 |
159+
| Improvements ✅ <br /> (secondary) | -0.3% | [-0.3%, -0.3%] | 1 |
160+
| All ❌✅ (primary) | -0.2% | [-0.6%, 0.4%] | 3 |
161+
162+
* regression to image-opt-full
163+
* improvements to webrender-2022-opt-full and regex-opt-incr-patched
164+
* had a broad (if small) improvement to binary sizes, which was isolated to PR #124251
165+
* overall wins seem to outweigh losses; marking as triaged.
166+
167+
don't inhibit random field reordering on repr(packed(1)) [#125360](https://github.com/rust-lang/rust/pull/125360) [(Comparison Link)](https://perf.rust-lang.org/compare.html?start=4cf5723dbe471ef0a32857b968b91498551f5e38&end=f2e1a3a80ae54734e1a3d306f31c2caebb05de9b&stat=instructions:u)
168+
169+
| (instructions:u) | mean | range | count |
170+
|:----------------------------------:|:-----:|:--------------:|:-----:|
171+
| Regressions ❌ <br /> (primary) | 0.9% | [0.6%, 1.3%] | 13 |
172+
| Regressions ❌ <br /> (secondary) | 0.4% | [0.4%, 0.4%] | 2 |
173+
| Improvements ✅ <br /> (primary) | -0.7% | [-0.8%, -0.7%] | 4 |
174+
| Improvements ✅ <br /> (secondary) | -0.4% | [-0.7%, -0.3%] | 13 |
175+
| All ❌✅ (primary) | 0.5% | [-0.8%, 1.3%] | 17 |
176+
177+
* regressed bitmaps and typenum; improved helloworld
178+
* instruction counts were affected but not cycle counts; [one theory is that object code has extra offset computations or niche computations...](https://github.com/rust-lang/rust/pull/125360#issuecomment-2137781620)
179+
* since cycle count was not affected, does not seem worth further investigation; marking as triaged
180+
181+
Enable DestinationPropagation by default. [#115105](https://github.com/rust-lang/rust/pull/115105) [(Comparison Link)](https://perf.rust-lang.org/compare.html?start=91c0823ee63e793d990bb9fed898dc95b5d6db51&end=cfb730450f847bb622243eaaab15e77e58d91767&stat=instructions:u)
182+
183+
| (instructions:u) | mean | range | count |
184+
|:----------------------------------:|:-----:|:--------------:|:-----:|
185+
| Regressions ❌ <br /> (primary) | 1.0% | [0.3%, 3.4%] | 18 |
186+
| Regressions ❌ <br /> (secondary) | 1.3% | [0.3%, 3.3%] | 22 |
187+
| Improvements ✅ <br /> (primary) | -0.5% | [-4.0%, -0.2%] | 23 |
188+
| Improvements ✅ <br /> (secondary) | -0.8% | [-1.6%, -0.2%] | 18 |
189+
| All ❌✅ (primary) | 0.2% | [-4.0%, 3.4%] | 41 |
190+
191+
* was reverted due to injecting [big regression for "Building stage1 codegen backend gcc"](https://github.com/rust-lang/rust/pull/115105#issuecomment-2141019310)
192+
* marking as triaged
193+
194+
Revert "Auto merge of #115105 - cjgillot:dest-prop-default, r=oli-obk" [#125794](https://github.com/rust-lang/rust/pull/125794) [(Comparison Link)](https://perf.rust-lang.org/compare.html?start=434999efe6e9aa61afbd8b4ae86864d3ce91c533&end=366da30d554719e7490950aeea5d3f3a5927e313&stat=instructions:u)
195+
196+
| (instructions:u) | mean | range | count |
197+
|:----------------------------------:|:-----:|:--------------:|:-----:|
198+
| Regressions ❌ <br /> (primary) | 0.5% | [0.2%, 4.2%] | 18 |
199+
| Regressions ❌ <br /> (secondary) | 0.8% | [0.1%, 1.5%] | 20 |
200+
| Improvements ✅ <br /> (primary) | -1.0% | [-3.2%, -0.3%] | 15 |
201+
| Improvements ✅ <br /> (secondary) | -1.5% | [-3.1%, -0.4%] | 18 |
202+
| All ❌✅ (primary) | -0.2% | [-3.2%, 4.2%] | 33 |
203+
204+
* revert of above PR
205+
* marking as triaged
206+
207+
Rollup of 7 pull requests [#125824](https://github.com/rust-lang/rust/pull/125824) [(Comparison Link)](https://perf.rust-lang.org/compare.html?start=2a2c29aafa50bf6fe53d66b32070eba59f860ac3&end=ada5e2c7b5427a591e30baeeee2698a5eb6db0bd&stat=instructions:u)
208+
209+
| (instructions:u) | mean | range | count |
210+
|:----------------------------------:|:-----:|:--------------:|:-----:|
211+
| Regressions ❌ <br /> (primary) | 0.7% | [0.5%, 1.1%] | 3 |
212+
| Regressions ❌ <br /> (secondary) | - | - | 0 |
213+
| Improvements ✅ <br /> (primary) | -0.4% | [-0.4%, -0.4%] | 1 |
214+
| Improvements ✅ <br /> (secondary) | - | - | 0 |
215+
| All ❌✅ (primary) | 0.4% | [-0.4%, 1.1%] | 4 |
216+
217+
* instruction-counts regressed webrender-2022-opt-full, cargo-opt-{incr-patched, full}
218+
* cycle-counts regressed webrender-2022-opt-{full, incr-full}, cranelift-codegen-opt-incr-full, and clap-opt-incr-patched
219+
* history view for webrender shows that the cycle-count effect seems real though not quite as pronounced as the original measurements indicate.
220+
* there are many potential candidates for the cause here in this rollup.
221+
* not marking as triaged; doing some followup perf runs on individual PR's

0 commit comments

Comments
 (0)