Skip to content

Commit 2ec5f00

Browse files
Merge pull request #1344 from pnkfelix/triage-2022-06-14
triage report for this week.
2 parents 11888e3 + 62b8e93 commit 2ec5f00

File tree

1 file changed

+217
-0
lines changed

1 file changed

+217
-0
lines changed

triage/2022-06-14.md

Lines changed: 217 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,217 @@
1+
# 2022-06-14 Triage Log
2+
3+
A mixed week. I suppose it is best to focus on the fact we made some big
4+
improvements to a large number of primary benchmarks, at the cost of some
5+
smaller regressions to a smaller number of primary benchmarks.
6+
7+
Triage done by **@pnkfelix**.
8+
Revision range: [bb55bd449e65e611da928560d948982d73e50027..edab34ab2abbafc16a78daedf71dbacd2eb0b7bf](https://perf.rust-lang.org/?start=bb55bd449e65e611da928560d948982d73e50027&end=edab34ab2abbafc16a78daedf71dbacd2eb0b7bf&absolute=false&stat=instructions%3Au)
9+
10+
**Summary**:
11+
12+
| | mean | max | count |
13+
|:----------:|:----:|:---:|:-----:|
14+
| Regressions 😿 <br /> (primary) | 0.6% | 1.6% | 35 |
15+
| Regressions 😿 <br /> (secondary) | 2.1% | 8.1% | 23 |
16+
| Improvements 🎉 <br /> (primary) | -0.8% | -3.5% | 72 |
17+
| Improvements 🎉 <br /> (secondary) | -0.8% | -2.9% | 62 |
18+
| All 😿🎉 (primary) | -0.4% | -3.5% | 107 |
19+
20+
21+
4 Regressions, 3 Improvements, 5 Mixed; 4 of them in rollups
22+
47 artifact comparisons made in total
23+
24+
#### Regressions
25+
26+
Rollup of 5 pull requests [#97825](https://github.com/rust-lang/rust/pull/97825) [(Comparison Link)](https://perf.rust-lang.org/compare.html?start=91cacb3faf987805675e39aca41859ec1fcabef3&end=7fe2c4b00dfbc33643e1af4b293eb057306a8339&stat=instructions:u)
27+
28+
| | mean | max | count |
29+
|:----------:|:----:|:---:|:-----:|
30+
| Regressions 😿 <br /> (primary) | 0.2% | 0.3% | 4 |
31+
| Regressions 😿 <br /> (secondary) | N/A | N/A | 0 |
32+
| Improvements 🎉 <br /> (primary) | N/A | N/A | 0 |
33+
| Improvements 🎉 <br /> (secondary) | N/A | N/A | 0 |
34+
| All 😿🎉 (primary) | 0.2% | 0.3% | 4 |
35+
36+
* stm32f4-0.14.0 regressed for check+debug+opt on incr-patched: negate. diesel-1.4.8 regressed for check on incr-patched: println
37+
* Given that all the regressions are to incremental, I'm assuming this is because of #97058
38+
* skimming over the [perf details for stm32f4 check](https://perf.rust-lang.org/detailed-query.html?commit=7fe2c4b00dfbc33643e1af4b293eb057306a8339&base_commit=91cacb3faf987805675e39aca41859ec1fcabef3&benchmark=stm32f4-0.14.0-check&scenario=incr-patched:%20negate), it *seems* like the bulk of the time delta is coming from `expand_crate`. A total time delta of 0.66, and the biggest contributors to that delta are `expand_crate` (0.033), `incr_comp_load_dep_graph` (0.015), `misc_checking_1` (0.007), `hir_owner_nodes` (0.005), `generate_crate_metadata` (0.005), `incr_comp_encode_dep_graph` (0.004), and `wf_checking` (0.004). The remainder are <= 0.003, most of them <= 0.000.
39+
* given the relatively small size and scope of the regression, and the fact that it was in a rollup, I do not think this is worth investigating further. marked as triaged.
40+
41+
Rollup of 6 pull requests [#97968](https://github.com/rust-lang/rust/pull/97968) [(Comparison Link)](https://perf.rust-lang.org/compare.html?start=ec55c61305eaf385fc1b93ac9a78284b4d887fe5&end=b9f3bdf5ce37c50c71dd7cee969a14e15f14130a&stat=instructions:u)
42+
43+
| | mean | max | count |
44+
|:----------:|:----:|:---:|:-----:|
45+
| Regressions 😿 <br /> (primary) | 0.3% | 0.3% | 3 |
46+
| Regressions 😿 <br /> (secondary) | N/A | N/A | 0 |
47+
| Improvements 🎉 <br /> (primary) | N/A | N/A | 0 |
48+
| Improvements 🎉 <br /> (secondary) | N/A | N/A | 0 |
49+
| All 😿🎉 (primary) | 0.3% | 0.3% | 3 |
50+
51+
* diesel-1.4.8 regressed on check full, opt full, and check incr-full, by about 0.3% each time.
52+
* rylev says that diesel has started to become more noisy in its behavior, perhaps since we turned on PGO.
53+
* I do not think this is worth investigating further. marked as triaged.
54+
55+
Handle `def_ident_span` like `def_span`. [#95880](https://github.com/rust-lang/rust/pull/95880) [(Comparison Link)](https://perf.rust-lang.org/compare.html?start=c08b235a5ce10167632bb0fddcd0c5d67f2d42e3&end=99930ac7f8cbb5d9b319b2e2e92794fd6f24f556&stat=instructions:u)
56+
57+
| | mean | max | count |
58+
|:----------:|:----:|:---:|:-----:|
59+
| Regressions 😿 <br /> (primary) | 0.6% | 1.6% | 92 |
60+
| Regressions 😿 <br /> (secondary) | 0.8% | 1.9% | 28 |
61+
| Improvements 🎉 <br /> (primary) | N/A | N/A | 0 |
62+
| Improvements 🎉 <br /> (secondary) | N/A | N/A | 0 |
63+
| All 😿🎉 (primary) | 0.6% | 1.6% | 92 |
64+
65+
* [Already triaged by the PR author](https://github.com/rust-lang/rust/pull/95880#issuecomment-1152671967).
66+
* "we encode more spans into metadata and invoke more queries, so the slight regression is to be expected."
67+
68+
Rollup of 5 pull requests [#98025](https://github.com/rust-lang/rust/pull/98025) [(Comparison Link)](https://perf.rust-lang.org/compare.html?start=ae2aa18d7467e212c4e961378b1061628abdb358&end=53305f15625756dc3ec62ddc0ec070dee412a547&stat=instructions:u)
69+
70+
| | mean | max | count |
71+
|:----------:|:----:|:---:|:-----:|
72+
| Regressions 😿 <br /> (primary) | N/A | N/A | 0 |
73+
| Regressions 😿 <br /> (secondary) | 5.5% | 7.9% | 6 |
74+
| Improvements 🎉 <br /> (primary) | N/A | N/A | 0 |
75+
| Improvements 🎉 <br /> (secondary) | N/A | N/A | 0 |
76+
| All 😿🎉 (primary) | N/A | N/A | 0 |
77+
78+
* All six regressions are variations of issue-88862: {opt,debug} x { incr-full, full, incr-unchanged }. The two incr-unchanged cases regressed by 0.94% and 1.72% . The full cases regressed by 7.13% and 7.57% . The incr-full cases regressed by 7.86% and 7.80%.
79+
* None of these PRs strike me as something that would cause a problem for the code exercised by #88862. (I briefly thought it might be #98012, but issue-88862 doesn't exercise HKT's...)
80+
* but also, given that issue-88862 is a canary that is trying to catch a catastrophic regression, I think we can accept a 7-8% regression here.
81+
82+
#### Improvements
83+
84+
Re-use the type op instead of calling the implied_outlives_bounds query directly [#97081](https://github.com/rust-lang/rust/pull/97081) [(Comparison Link)](https://perf.rust-lang.org/compare.html?start=5435ed6916a59e8d5acba2149316a841c3905cbd&end=b17e9d76f2ad15022e0e69bc33745c4ef9025a8f&stat=instructions:u)
85+
86+
| | mean | max | count |
87+
|:----------:|:----:|:---:|:-----:|
88+
| Regressions 😿 <br /> (primary) | N/A | N/A | 0 |
89+
| Regressions 😿 <br /> (secondary) | N/A | N/A | 0 |
90+
| Improvements 🎉 <br /> (primary) | -0.3% | -0.6% | 22 |
91+
| Improvements 🎉 <br /> (secondary) | -0.4% | -0.7% | 12 |
92+
| All 😿🎉 (primary) | -0.3% | -0.6% | 22 |
93+
94+
95+
Revert part of #94372 to improve performance [#97905](https://github.com/rust-lang/rust/pull/97905) [(Comparison Link)](https://perf.rust-lang.org/compare.html?start=75307c22f33cb47966466ba1daca08573a3c583e&end=c84594661c1b51feb539b479b58bb551fcf8e19a&stat=instructions:u)
96+
97+
| | mean | max | count |
98+
|:----------:|:----:|:---:|:-----:|
99+
| Regressions 😿 <br /> (primary) | N/A | N/A | 0 |
100+
| Regressions 😿 <br /> (secondary) | N/A | N/A | 0 |
101+
| Improvements 🎉 <br /> (primary) | -0.4% | -0.9% | 82 |
102+
| Improvements 🎉 <br /> (secondary) | -0.5% | -1.0% | 39 |
103+
| All 😿🎉 (primary) | -0.4% | -0.9% | 82 |
104+
105+
106+
Tidy up miscellaneous bounds suggestions [#97778](https://github.com/rust-lang/rust/pull/97778) [(Comparison Link)](https://perf.rust-lang.org/compare.html?start=e652caa679a304af11fc04f1f12452f255a82593&end=37a42258ffe02cfb7107380759e492c64500ab55&stat=instructions:u)
107+
108+
| | mean | max | count |
109+
|:----------:|:----:|:---:|:-----:|
110+
| Regressions 😿 <br /> (primary) | N/A | N/A | 0 |
111+
| Regressions 😿 <br /> (secondary) | N/A | N/A | 0 |
112+
| Improvements 🎉 <br /> (primary) | -0.3% | -0.4% | 2 |
113+
| Improvements 🎉 <br /> (secondary) | -0.7% | -0.8% | 6 |
114+
| All 😿🎉 (primary) | -0.3% | -0.4% | 2 |
115+
116+
117+
#### Mixed
118+
119+
Folding revamp [#97447](https://github.com/rust-lang/rust/pull/97447) [(Comparison Link)](https://perf.rust-lang.org/compare.html?start=47aee31b2a89cb7de97d779869a30b046632b6af&end=64a7aa7016de32f4d991c30bfa40d3911e18a213&stat=instructions:u)
120+
121+
| | mean | max | count |
122+
|:----------:|:----:|:---:|:-----:|
123+
| Regressions 😿 <br /> (primary) | 0.5% | 0.6% | 6 |
124+
| Regressions 😿 <br /> (secondary) | 0.4% | 0.7% | 5 |
125+
| Improvements 🎉 <br /> (primary) | -0.4% | -0.7% | 5 |
126+
| Improvements 🎉 <br /> (secondary) | -0.8% | -2.1% | 23 |
127+
| All 😿🎉 (primary) | 0.1% | -0.7% | 11 |
128+
129+
* [already triaged by its author](https://github.com/rust-lang/rust/pull/97447#issuecomment-1150497492)
130+
* "The perf effects are fairly small and there are more improvements than regressions."
131+
132+
Make `Encodable` and `Encoder` infallible. [#94732](https://github.com/rust-lang/rust/pull/94732) [(Comparison Link)](https://perf.rust-lang.org/compare.html?start=e45d9973b2665897a768312e971b82cc62633103&end=1a97162cb245b5e2c7458c28859e3df779908c02&stat=instructions:u)
133+
134+
| | mean | max | count |
135+
|:----------:|:----:|:---:|:-----:|
136+
| Regressions 😿 <br /> (primary) | 0.4% | 0.8% | 16 |
137+
| Regressions 😿 <br /> (secondary) | 0.5% | 0.9% | 15 |
138+
| Improvements 🎉 <br /> (primary) | -0.3% | -0.5% | 25 |
139+
| Improvements 🎉 <br /> (secondary) | -0.4% | -0.5% | 20 |
140+
| All 😿🎉 (primary) | -0.1% | 0.8% | 41 |
141+
142+
* PR author [already investigated](https://github.com/rust-lang/rust/pull/94732#issuecomment-1154607616).
143+
* "Good news: #97905 fixed the regressions here. That PR plus this PR combined gave a clear performance win."
144+
* marked as triaged.
145+
146+
cleanup bound variable handling [#97648](https://github.com/rust-lang/rust/pull/97648) [(Comparison Link)](https://perf.rust-lang.org/compare.html?start=b9f3bdf5ce37c50c71dd7cee969a14e15f14130a&end=75307c22f33cb47966466ba1daca08573a3c583e&stat=instructions:u)
147+
148+
| | mean | max | count |
149+
|:----------:|:----:|:---:|:-----:|
150+
| Regressions 😿 <br /> (primary) | N/A | N/A | 0 |
151+
| Regressions 😿 <br /> (secondary) | 0.3% | 0.3% | 4 |
152+
| Improvements 🎉 <br /> (primary) | -0.7% | -1.7% | 22 |
153+
| Improvements 🎉 <br /> (secondary) | -0.5% | -0.6% | 16 |
154+
| All 😿🎉 (primary) | -0.7% | -1.7% | 22 |
155+
156+
157+
Rollup of 10 pull requests [#98066](https://github.com/rust-lang/rust/pull/98066) [(Comparison Link)](https://perf.rust-lang.org/compare.html?start=083721a1a7365d3afe1521cd2661b2201aac0450&end=ca122c7ebb3ab50149c9d3d24ddb59c252b32272&stat=instructions:u)
158+
159+
| | mean | max | count |
160+
|:----------:|:----:|:---:|:-----:|
161+
| Regressions 😿 <br /> (primary) | 0.5% | 0.6% | 4 |
162+
| Regressions 😿 <br /> (secondary) | 0.4% | 0.5% | 11 |
163+
| Improvements 🎉 <br /> (primary) | N/A | N/A | 0 |
164+
| Improvements 🎉 <br /> (secondary) | -0.3% | -0.3% | 4 |
165+
| All 😿🎉 (primary) | 0.5% | 0.6% | 4 |
166+
167+
* diesel-1.4.8 regressed by 0.5% for variations on check/debug/opt and incr-full/full. That's the only primary regression, and its within the noise level that we're currently associating with diesel, I think.
168+
* The other regressions are wf-projection-stress-65510, projection-caching, regression-31157, and wg-grammar.
169+
* wf-projection-stress-65510 and regression-31157 are canaries where we are trying to catch a *massive* regression, not a minor one like the ones presented here.
170+
* given that this is a rollup and the remaining regressions are well under 0.5%, I think that's the limit to the amount of investigation I want to do here.
171+
172+
Remove RegionckMode in favor of calling new skip_region_resolution [#98041](https://github.com/rust-lang/rust/pull/98041) [(Comparison Link)](https://perf.rust-lang.org/compare.html?start=a2ecbf87cf355a121a62f0629ea5f880c9bf41fc&end=4e02a9281dd8c74cf5c04df044659b5e03b17571&stat=instructions:u)
173+
174+
| | mean | max | count |
175+
|:----------:|:----:|:---:|:-----:|
176+
| Regressions 😿 <br /> (primary) | 0.2% | 0.2% | 1 |
177+
| Regressions 😿 <br /> (secondary) | 1.0% | 1.2% | 3 |
178+
| Improvements 🎉 <br /> (primary) | -0.9% | -3.7% | 35 |
179+
| Improvements 🎉 <br /> (secondary) | -0.3% | -0.3% | 1 |
180+
| All 😿🎉 (primary) | -0.8% | -3.7% | 36 |
181+
182+
183+
* Skimming over the comparison (and even just from the table), it seems clear that the improvements far far far outweighed the gains here.
184+
* Marking as triaged.
185+
186+
#### Untriaged Pull Requests
187+
188+
- [#98066 Rollup of 10 pull requests](https://github.com/rust-lang/rust/pull/98066)
189+
- [#98025 Rollup of 5 pull requests](https://github.com/rust-lang/rust/pull/98025)
190+
- [#97968 Rollup of 6 pull requests](https://github.com/rust-lang/rust/pull/97968)
191+
- [#97825 Rollup of 5 pull requests](https://github.com/rust-lang/rust/pull/97825)
192+
- [#97019 Transition to valtrees pt1](https://github.com/rust-lang/rust/pull/97019)
193+
- [#97004 Proc macro tweaks](https://github.com/rust-lang/rust/pull/97004)
194+
- [#96883 Add EarlyBinder](https://github.com/rust-lang/rust/pull/96883)
195+
- [#96825 Retire `ItemLikeVisitor` trait](https://github.com/rust-lang/rust/pull/96825)
196+
- [#96010 Implement `core::ptr::Unique` on top of `NonNull`](https://github.com/rust-lang/rust/pull/96010)
197+
- [#95990 Rollup of 7 pull requests](https://github.com/rust-lang/rust/pull/95990)
198+
- [#95899 rustc_metadata: Do not encode unnecessary module children](https://github.com/rust-lang/rust/pull/95899)
199+
- [#95893 Respect -Z verify-llvm-ir and other flags that add extra passes when combined with -C no-prepopulate-passes in the new LLVM Pass Manager.](https://github.com/rust-lang/rust/pull/95893)
200+
- [#95835 Rollup of 8 pull requests](https://github.com/rust-lang/rust/pull/95835)
201+
- [#95794 `parse_tt`: a few more tweaks](https://github.com/rust-lang/rust/pull/95794)
202+
- [#95742 Rollup of 6 pull requests](https://github.com/rust-lang/rust/pull/95742)
203+
- [#95715 Shrink `Nonterminal`](https://github.com/rust-lang/rust/pull/95715)
204+
- [#95706 rustdoc: Early doc link resolution fixes and refactorings](https://github.com/rust-lang/rust/pull/95706)
205+
- [#95702 Rollup of 8 pull requests](https://github.com/rust-lang/rust/pull/95702)
206+
- [#95667 Rollup of 5 pull requests](https://github.com/rust-lang/rust/pull/95667)
207+
- [#95662 Rollup of 7 pull requests](https://github.com/rust-lang/rust/pull/95662)
208+
- [#95645 Fix intra doc link ICE when trying to get traits in scope for primitive](https://github.com/rust-lang/rust/pull/95645)
209+
- [#95604 Generate synthetic object file to ensure all exported and used symbols participate in the linking](https://github.com/rust-lang/rust/pull/95604)
210+
- [#95563 Move the extended lifetime resolution into typeck context](https://github.com/rust-lang/rust/pull/95563)
211+
- [#95399 Faster parsing for lower numbers for radix up to 16 (cont.)](https://github.com/rust-lang/rust/pull/95399)
212+
- [#95250 Rollup of 5 pull requests](https://github.com/rust-lang/rust/pull/95250)
213+
- [#94824 Rollup of 7 pull requests](https://github.com/rust-lang/rust/pull/94824)
214+
- [#94814 Rollup of 8 pull requests](https://github.com/rust-lang/rust/pull/94814)
215+
- [#94732 Make `Encodable` and `Encoder` infallible.](https://github.com/rust-lang/rust/pull/94732)
216+
- [#94527 Let CTFE to handle partially uninitialized unions without marking the entire value as uninitialized.](https://github.com/rust-lang/rust/pull/94527)
217+
- [#94402 Revert "Auto merge of #92419 - erikdesjardins:coldland, r=nagisa"](https://github.com/rust-lang/rust/pull/94402)

0 commit comments

Comments
 (0)