Skip to content

Commit 434ba59

Browse files
Merge pull request #1347 from Mark-Simulacrum/triage
Triage for this week
2 parents 2ec5f00 + a497b60 commit 434ba59

File tree

1 file changed

+213
-0
lines changed

1 file changed

+213
-0
lines changed

β€Žtriage/2022-06-21.md

Lines changed: 213 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,213 @@
1+
# 2022-06-21 Triage Log
2+
3+
A pretty busy week for performance, with quite a few PRs landing with
4+
significant improvements to specific benchmarks. Overall the week was positive,
5+
with many benchmarks improving at least a little. No significant changes in
6+
memory usage this week.
7+
8+
Triage done by **@simulacrum**.
9+
Revision range: [edab34ab2abbafc16a78daedf71dbacd2eb0b7bf..abace0a1f17986d89aedf610819deab2b4afee56](https://perf.rust-lang.org/?start=edab34ab2abbafc16a78daedf71dbacd2eb0b7bf&end=abace0a1f17986d89aedf610819deab2b4afee56&absolute=false&stat=instructions%3Au)
10+
11+
**Summary**:
12+
13+
| | mean | max | count |
14+
|:----------:|:----:|:---:|:-----:|
15+
| Regressions 😿 <br /> (primary) | 0.4% | 0.5% | 6 |
16+
| Regressions 😿 <br /> (secondary) | 2.9% | 14.7% | 37 |
17+
| Improvements πŸŽ‰ <br /> (primary) | -1.9% | -19.4% | 89 |
18+
| Improvements πŸŽ‰ <br /> (secondary) | -8.4% | -91.4% | 38 |
19+
| All πŸ˜ΏπŸŽ‰ (primary) | -1.8% | -19.4% | 95 |
20+
21+
5 Regressions, 6 Improvements, 3 Mixed; 1 of them in rollups
22+
54 artifact comparisons made in total
23+
24+
#### Regressions
25+
26+
BTreeMap: Support custom allocators (v1.5) [#98103](https://github.com/rust-lang/rust/pull/98103)
27+
[(Comparison Link)](https://perf.rust-lang.org/compare.html?start=5bc82c0b944dc6c8ed12372b4f79d1a8e3fb0cbd&end=1b9daa69640970e7858b7c8e1c9f72c604985e11&stat=instructions:u)
28+
29+
| | mean | max | count |
30+
|:----------:|:----:|:---:|:-----:|
31+
| Regressions 😿 <br /> (primary) | 1.7% | 3.0% | 2 |
32+
| Regressions 😿 <br /> (secondary) | 1.6% | 2.1% | 6 |
33+
| Improvements πŸŽ‰ <br /> (primary) | N/A | N/A | 0 |
34+
| Improvements πŸŽ‰ <br /> (secondary) | N/A | N/A | 0 |
35+
| All πŸ˜ΏπŸŽ‰ (primary) | 1.7% | 3.0% | 2 |
36+
37+
This regression is largely fixed by [#98178](https://github.com/rust-lang/rust/pull/98178).
38+
39+
Improve the tuple and unit trait docs [#97842](https://github.com/rust-lang/rust/pull/97842)
40+
[(Comparison Link)](https://perf.rust-lang.org/compare.html?start=d40f24e956a698e47a209541031c4045acc5a684&end=6ec3993ef4a4eb72bc20477fe9a4d92acd53f2c6&stat=instructions:u)
41+
42+
| | mean | max | count |
43+
|:----------:|:----:|:---:|:-----:|
44+
| Regressions 😿 <br /> (primary) | 0.4% | 0.6% | 2 |
45+
| Regressions 😿 <br /> (secondary) | 0.3% | 0.4% | 3 |
46+
| Improvements πŸŽ‰ <br /> (primary) | N/A | N/A | 0 |
47+
| Improvements πŸŽ‰ <br /> (secondary) | N/A | N/A | 0 |
48+
| All πŸ˜ΏπŸŽ‰ (primary) | 0.4% | 0.6% | 2 |
49+
50+
Slight regressions to small number of doc benchmarks, likely due to slightly
51+
more work during generation (std's docs changed).
52+
53+
Fix `SourceScope` for `if let` bindings. [#97931](https://github.com/rust-lang/rust/pull/97931)
54+
[(Comparison Link)](https://perf.rust-lang.org/compare.html?start=17c6bde14eabdd61c35505ed6834ee9196c2fdc9&end=9a0b7749665d925d8f533756149deba74f2db88b&stat=instructions:u)
55+
56+
| | mean | max | count |
57+
|:----------:|:----:|:---:|:-----:|
58+
| Regressions 😿 <br /> (primary) | 0.4% | 0.5% | 4 |
59+
| Regressions 😿 <br /> (secondary) | 0.3% | 0.3% | 1 |
60+
| Improvements πŸŽ‰ <br /> (primary) | N/A | N/A | 0 |
61+
| Improvements πŸŽ‰ <br /> (secondary) | N/A | N/A | 0 |
62+
| All πŸ˜ΏπŸŽ‰ (primary) | 0.4% | 0.5% | 4 |
63+
64+
Regression is pretty small and only one primary benchmark is affected (regex),
65+
and only incremental scenarios there. Likely not enough to worry about.
66+
67+
Obligation forest tweaks [#97674](https://github.com/rust-lang/rust/pull/97674)
68+
[(Comparison Link)](https://perf.rust-lang.org/compare.html?start=4104596251818f4f588051c7a8172ca9f5a195bf&end=1d6010816c37186e2bee316709f0c0197c427513&stat=instructions:u)
69+
70+
| | mean | max | count |
71+
|:----------:|:----:|:---:|:-----:|
72+
| Regressions 😿 <br /> (primary) | 0.8% | 0.9% | 2 |
73+
| Regressions 😿 <br /> (secondary) | 1.8% | 2.4% | 7 |
74+
| Improvements πŸŽ‰ <br /> (primary) | N/A | N/A | 0 |
75+
| Improvements πŸŽ‰ <br /> (secondary) | -0.3% | -0.3% | 1 |
76+
| All πŸ˜ΏπŸŽ‰ (primary) | 0.8% | 0.9% | 2 |
77+
78+
keccak is the primary affected benchmark, and is known to be very sensitive to
79+
changes to the obligation forest code. See some analysis in this
80+
[comment](https://github.com/rust-lang/rust/pull/97674#issuecomment-1160914976)
81+
following up on the results from the merge perf run.
82+
83+
Rollup of 4 pull requests [#98307](https://github.com/rust-lang/rust/pull/98307)
84+
[(Comparison Link)](https://perf.rust-lang.org/compare.html?start=5750a6aa2777382bf421b726f234da23f990a953&end=08871139915b95ec868aff807f224f78d00f4311&stat=instructions:u)
85+
86+
| | mean | max | count |
87+
|:----------:|:----:|:---:|:-----:|
88+
| Regressions 😿 <br /> (primary) | 0.3% | 0.3% | 2 |
89+
| Regressions 😿 <br /> (secondary) | 0.7% | 0.8% | 6 |
90+
| Improvements πŸŽ‰ <br /> (primary) | N/A | N/A | 0 |
91+
| Improvements πŸŽ‰ <br /> (secondary) | -0.4% | -0.4% | 1 |
92+
| All πŸ˜ΏπŸŽ‰ (primary) | 0.3% | 0.3% | 2 |
93+
94+
Cause of regressions is unclear, but they're minor enough that it's not worth
95+
the hassle of investigating a rollup.
96+
97+
98+
#### Improvements
99+
100+
ctfe: limit hashing of big const allocations when interning [#98097](https://github.com/rust-lang/rust/pull/98097)
101+
[(Comparison Link)](https://perf.rust-lang.org/compare.html?start=949a64ab20b9d5d4516416c4735b134e0496855a&end=43c47db0b04627dbd0e16a1e7cad14a4a5a60d3a&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) | N/A | N/A | 0 |
108+
| Improvements πŸŽ‰ <br /> (secondary) | -6.6% | -6.6% | 3 |
109+
| All πŸ˜ΏπŸŽ‰ (primary) | N/A | N/A | 0 |
110+
111+
112+
Batch proc_macro RPC for TokenStream iteration and combination operations [#98186](https://github.com/rust-lang/rust/pull/98186)
113+
[(Comparison Link)](https://perf.rust-lang.org/compare.html?start=ff86b27e7be1ffff9e00d80beb15560d5f301459&end=0182fd99afaf4a3d602de6b88506edaf6043c125&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) | -1.0% | -4.0% | 26 |
120+
| Improvements πŸŽ‰ <br /> (secondary) | -12.1% | -37.5% | 15 |
121+
| All πŸ˜ΏπŸŽ‰ (primary) | -1.0% | -4.0% | 26 |
122+
123+
124+
Fix `MissingDoc` quadratic behaviour [#98153](https://github.com/rust-lang/rust/pull/98153)
125+
[(Comparison Link)](https://perf.rust-lang.org/compare.html?start=0182fd99afaf4a3d602de6b88506edaf6043c125&end=cdcc53b7dc002ea4a7a28105010c5a1126ee31b7&stat=instructions:u)
126+
127+
| | mean | max | count |
128+
|:----------:|:----:|:---:|:-----:|
129+
| Regressions 😿 <br /> (primary) | N/A | N/A | 0 |
130+
| Regressions 😿 <br /> (secondary) | N/A | N/A | 0 |
131+
| Improvements πŸŽ‰ <br /> (primary) | -0.3% | -0.4% | 14 |
132+
| Improvements πŸŽ‰ <br /> (secondary) | N/A | N/A | 0 |
133+
| All πŸ˜ΏπŸŽ‰ (primary) | -0.3% | -0.4% | 14 |
134+
135+
136+
Make some lints incremental. [#98238](https://github.com/rust-lang/rust/pull/98238)
137+
[(Comparison Link)](https://perf.rust-lang.org/compare.html?start=15fc228d0d0a68b5ba565758fab13ed7f863fcea&end=67404f7200c13deec255ffe1146e1d2c9d0d3028&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.4% | -1.7% | 54 |
144+
| Improvements πŸŽ‰ <br /> (secondary) | -7.4% | -90.8% | 17 |
145+
| All πŸ˜ΏπŸŽ‰ (primary) | -0.4% | -1.7% | 54 |
146+
147+
148+
[RFC 2011] Expand expressions where possible [#98148](https://github.com/rust-lang/rust/pull/98148)
149+
[(Comparison Link)](https://perf.rust-lang.org/compare.html?start=08871139915b95ec868aff807f224f78d00f4311&end=42dcf70f99c21c6d59ad036e33e846769b369fff&stat=instructions:u)
150+
151+
| | mean | max | count |
152+
|:----------:|:----:|:---:|:-----:|
153+
| Regressions 😿 <br /> (primary) | N/A | N/A | 0 |
154+
| Regressions 😿 <br /> (secondary) | N/A | N/A | 0 |
155+
| Improvements πŸŽ‰ <br /> (primary) | -0.3% | -0.4% | 2 |
156+
| Improvements πŸŽ‰ <br /> (secondary) | -0.7% | -0.8% | 6 |
157+
| All πŸ˜ΏπŸŽ‰ (primary) | -0.3% | -0.4% | 2 |
158+
159+
Compile `unicode-normalization` faster [#97936](https://github.com/rust-lang/rust/pull/97936)
160+
[(Comparison Link)](https://perf.rust-lang.org/compare.html?start=3bebee73397b692e84b9cc1b6af439fae78918c9&end=cacc75c82ebe15cf63d31034fcf7f1016cddf0e2&stat=instructions:u)
161+
162+
| | mean | max | count |
163+
|:----------:|:----:|:---:|:-----:|
164+
| Regressions 😿 <br /> (primary) | N/A | N/A | 0 |
165+
| Regressions 😿 <br /> (secondary) | 1.0% | 1.0% | 1 |
166+
| Improvements πŸŽ‰ <br /> (primary) | -14.2% | -19.4% | 6 |
167+
| Improvements πŸŽ‰ <br /> (secondary) | N/A | N/A | 0 |
168+
| All πŸ˜ΏπŸŽ‰ (primary) | -14.2% | -19.4% | 6 |
169+
170+
A solid improvement, though just to the one benchmark; coercions change in the
171+
regressions section is likely just noise, not an actual meaningful delta.
172+
173+
#### Mixed
174+
175+
Use valtrees as the type-system representation for constant values [#96591](https://github.com/rust-lang/rust/pull/96591)
176+
[(Comparison Link)](https://perf.rust-lang.org/compare.html?start=872503d918b2c3266d828f85e42951df74f5e303&end=1f34da9ec8a85b6f86c5fa1c121ab6f88f2f4966&stat=instructions:u)
177+
178+
| | mean | max | count |
179+
|:----------:|:----:|:---:|:-----:|
180+
| Regressions 😿 <br /> (primary) | 0.4% | 0.6% | 54 |
181+
| Regressions 😿 <br /> (secondary) | 3.1% | 14.3% | 29 |
182+
| Improvements πŸŽ‰ <br /> (primary) | -3.0% | -5.9% | 10 |
183+
| Improvements πŸŽ‰ <br /> (secondary) | -1.1% | -1.6% | 7 |
184+
| All πŸ˜ΏπŸŽ‰ (primary) | -0.2% | -5.9% | 64 |
185+
186+
Large change (over 2000 lines changed) that is a first step for further work on
187+
constant evaluation in the compiler. Overall this is still an improvement, and
188+
regressions are primarily on stress tests. See [this
189+
comment](https://github.com/rust-lang/rust/pull/96591#issuecomment-1156381494)
190+
for some further context.
191+
192+
Split up `Definitions` and `ResolverAstLowering`. [#98106](https://github.com/rust-lang/rust/pull/98106)
193+
[(Comparison Link)](https://perf.rust-lang.org/compare.html?start=ecdd374e6123d79b89c3ecea618d827c931b81cd&end=3a8b0144c82197a70e919ad371d56f82c2282833&stat=instructions:u)
194+
195+
| | mean | max | count |
196+
|:----------:|:----:|:---:|:-----:|
197+
| Regressions 😿 <br /> (primary) | N/A | N/A | 0 |
198+
| Regressions 😿 <br /> (secondary) | 0.4% | 0.5% | 9 |
199+
| Improvements πŸŽ‰ <br /> (primary) | -0.3% | -0.6% | 39 |
200+
| Improvements πŸŽ‰ <br /> (secondary) | -0.3% | -0.6% | 5 |
201+
| All πŸ˜ΏπŸŽ‰ (primary) | -0.3% | -0.6% | 39 |
202+
203+
204+
btree: avoid forcing the allocator to be a reference [#98178](https://github.com/rust-lang/rust/pull/98178)
205+
[(Comparison Link)](https://perf.rust-lang.org/compare.html?start=529c4c71793fbf4305d65b1c4d826a5d0e748fb3&end=ff86b27e7be1ffff9e00d80beb15560d5f301459&stat=instructions:u)
206+
207+
| | mean | max | count |
208+
|:----------:|:----:|:---:|:-----:|
209+
| Regressions 😿 <br /> (primary) | 0.4% | 0.4% | 1 |
210+
| Regressions 😿 <br /> (secondary) | N/A | N/A | 0 |
211+
| Improvements πŸŽ‰ <br /> (primary) | -2.0% | -2.0% | 1 |
212+
| Improvements πŸŽ‰ <br /> (secondary) | N/A | N/A | 0 |
213+
| All πŸ˜ΏπŸŽ‰ (primary) | -0.8% | -2.0% | 2 |

0 commit comments

Comments
Β (0)