Skip to content

Commit 9ba8b8d

Browse files
Merge pull request #1524 from rylev/triage-2023-02-14
Add triage for 2023-02-14
2 parents 0aaa5fa + 1b2ee6c commit 9ba8b8d

File tree

1 file changed

+212
-0
lines changed

1 file changed

+212
-0
lines changed

triage/2023-02-14.md

+212
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,212 @@
1+
# 2023-02-14 Triage Log
2+
3+
Overall a good week for performance with 77 real world crates benchmarks showing an average of nearly 1% performance improvement. Unfortunately, the largest regressions are not yet fully understood and require additional investigation. Of particular interest were some large improvements in doc builds due to storing additional metadata. However, this change might cause some crates to compile slightly slower in incremental check builds, but this is still being investigated.
4+
5+
Triage done by **@rylev**.
6+
Revision range: [e4dd9edb..9bb6e60](https://perf.rust-lang.org/?start=e4dd9edb76a34ecbca539967f9662b8c0cc9c7fb&end=9bb6e60d1f1360234aae90c97964c0fa5524f141&absolute=false&stat=instructions%3Au)
7+
8+
**Summary**:
9+
10+
| (instructions:u) | mean | range | count |
11+
|:----------------------------------:|:-----:|:--------------:|:-----:|
12+
| Regressions ❌ <br /> (primary) | 1.4% | [0.4%, 11.0%] | 13 |
13+
| Regressions ❌ <br /> (secondary) | 0.8% | [0.2%, 1.6%] | 4 |
14+
| Improvements ✅ <br /> (primary) | -1.4% | [-7.9%, -0.3%] | 64 |
15+
| Improvements ✅ <br /> (secondary) | -2.1% | [-5.6%, -0.3%] | 73 |
16+
| All ❌✅ (primary) | -0.9% | [-7.9%, 11.0%] | 77 |
17+
18+
19+
3 Regressions, 4 Improvements, 9 Mixed; ??? of them in rollups
20+
46 artifact comparisons made in total
21+
22+
#### Regressions
23+
24+
Rollup of 6 pull requests [#107870](https://github.com/rust-lang/rust/pull/107870) [(Comparison Link)](https://perf.rust-lang.org/compare.html?start=a6975734632c4771edd45ef10e7d4753541d0f3a&end=9b8dbd558c1c4b25c55d987e22baba312ae980ad&stat=instructions:u)
25+
26+
| (instructions:u) | mean | range | count |
27+
|:----------------------------------:|:----:|:------------:|:-----:|
28+
| Regressions ❌ <br /> (primary) | 0.7% | [0.5%, 1.0%] | 7 |
29+
| Regressions ❌ <br /> (secondary) | - | - | 0 |
30+
| Improvements ✅ <br /> (primary) | - | - | 0 |
31+
| Improvements ✅ <br /> (secondary) | - | - | 0 |
32+
| All ❌✅ (primary) | 0.7% | [0.5%, 1.0%] | 7 |
33+
34+
35+
Implement `deferred_projection_equality` for erica solver [#107507](https://github.com/rust-lang/rust/pull/107507) [(Comparison Link)](https://perf.rust-lang.org/compare.html?start=5a8dfd933a70cc47e44502a20fd67dfaec6555d5&end=1623ab0246deebec4fe32dc525d20bf8a88096f2&stat=instructions:u)
36+
37+
| (instructions:u) | mean | range | count |
38+
|:----------------------------------:|:----:|:------------:|:-----:|
39+
| Regressions ❌ <br /> (primary) | 0.8% | [0.7%, 1.0%] | 6 |
40+
| Regressions ❌ <br /> (secondary) | - | - | 0 |
41+
| Improvements ✅ <br /> (primary) | - | - | 0 |
42+
| Improvements ✅ <br /> (secondary) | - | - | 0 |
43+
| All ❌✅ (primary) | 0.8% | [0.7%, 1.0%] | 6 |
44+
45+
46+
rustdoc: Remove cache for preprocessed markdown links [#107933](https://github.com/rust-lang/rust/pull/107933) [(Comparison Link)](https://perf.rust-lang.org/compare.html?start=adb4bfd25d3c1190b0e7433ef945221d8aeea427&end=00cf19a75a7055171a4ffc8cc557ff63953c9754&stat=instructions:u)
47+
48+
| (instructions:u) | mean | range | count |
49+
|:----------------------------------:|:----:|:------------:|:-----:|
50+
| Regressions ❌ <br /> (primary) | 1.2% | [1.2%, 1.2%] | 1 |
51+
| Regressions ❌ <br /> (secondary) | 3.9% | [3.9%, 3.9%] | 1 |
52+
| Improvements ✅ <br /> (primary) | - | - | 0 |
53+
| Improvements ✅ <br /> (secondary) | - | - | 0 |
54+
| All ❌✅ (primary) | 1.2% | [1.2%, 1.2%] | 1 |
55+
- Deemed an [acceptable trade off](https://github.com/rust-lang/rust/pull/107933#issuecomment-1426963682) for the simplification it brings.
56+
57+
58+
#### Improvements
59+
60+
ReErased regions are local [#107688](https://github.com/rust-lang/rust/pull/107688) [(Comparison Link)](https://perf.rust-lang.org/compare.html?start=3f059f60467419823e2a63d6d20f414829040f2f&end=b082e80e20475b1ec5b0bd0dd1dac3e6759c8022&stat=instructions:u)
61+
62+
| (instructions:u) | mean | range | count |
63+
|:----------------------------------:|:-----:|:--------------:|:-----:|
64+
| Regressions ❌ <br /> (primary) | - | - | 0 |
65+
| Regressions ❌ <br /> (secondary) | - | - | 0 |
66+
| Improvements ✅ <br /> (primary) | -0.8% | [-1.2%, -0.3%] | 8 |
67+
| Improvements ✅ <br /> (secondary) | -1.5% | [-2.6%, -0.4%] | 6 |
68+
| All ❌✅ (primary) | -0.8% | [-1.2%, -0.3%] | 8 |
69+
70+
71+
Rollup of 8 pull requests [#107811](https://github.com/rust-lang/rust/pull/107811) [(Comparison Link)](https://perf.rust-lang.org/compare.html?start=9433ba63942a736f068baacf19e5cffaff6dccc9&end=ef934d9b632b8ac00276558824664c104b92b5f0&stat=instructions:u)
72+
73+
| (instructions:u) | mean | range | count |
74+
|:----------------------------------:|:-----:|:--------------:|:-----:|
75+
| Regressions ❌ <br /> (primary) | 0.6% | [0.6%, 0.6%] | 1 |
76+
| Regressions ❌ <br /> (secondary) | - | - | 0 |
77+
| Improvements ✅ <br /> (primary) | -0.8% | [-1.4%, -0.2%] | 7 |
78+
| Improvements ✅ <br /> (secondary) | -3.4% | [-4.2%, -1.6%] | 7 |
79+
| All ❌✅ (primary) | -0.6% | [-1.4%, 0.6%] | 8 |
80+
81+
82+
Rollup of 9 pull requests [#107828](https://github.com/rust-lang/rust/pull/107828) [(Comparison Link)](https://perf.rust-lang.org/compare.html?start=575d424c94e0d4feea8cf4fcf04d47b83f28eaef&end=e7acd078f443156b95cee11759a735db1cfc796e&stat=instructions:u)
83+
84+
| (instructions:u) | mean | range | count |
85+
|:----------------------------------:|:-----:|:--------------:|:-----:|
86+
| Regressions ❌ <br /> (primary) | - | - | 0 |
87+
| Regressions ❌ <br /> (secondary) | - | - | 0 |
88+
| Improvements ✅ <br /> (primary) | -1.3% | [-1.4%, -1.2%] | 2 |
89+
| Improvements ✅ <br /> (secondary) | -3.6% | [-4.1%, -3.2%] | 6 |
90+
| All ❌✅ (primary) | -1.3% | [-1.4%, -1.2%] | 2 |
91+
92+
93+
Reduce interning [#107869](https://github.com/rust-lang/rust/pull/107869) [(Comparison Link)](https://perf.rust-lang.org/compare.html?start=59083c57d450d5be49db460fa395e472c09ff393&end=7740f9a571b3c6510607b17b29c81eeb24a7c79a&stat=instructions:u)
94+
95+
| (instructions:u) | mean | range | count |
96+
|:----------------------------------:|:-----:|:--------------:|:-----:|
97+
| Regressions ❌ <br /> (primary) | - | - | 0 |
98+
| Regressions ❌ <br /> (secondary) | - | - | 0 |
99+
| Improvements ✅ <br /> (primary) | - | - | 0 |
100+
| Improvements ✅ <br /> (secondary) | -1.4% | [-2.6%, -0.4%] | 12 |
101+
| All ❌✅ (primary) | - | - | 0 |
102+
103+
104+
#### Mixed
105+
106+
Rollup of 8 pull requests [#107768](https://github.com/rust-lang/rust/pull/107768) [(Comparison Link)](https://perf.rust-lang.org/compare.html?start=bd39bbb4bb92df439bf6d85470e296cc6a47ffbd&end=3f059f60467419823e2a63d6d20f414829040f2f&stat=instructions:u)
107+
108+
| (instructions:u) | mean | range | count |
109+
|:----------------------------------:|:-----:|:--------------:|:-----:|
110+
| Regressions ❌ <br /> (primary) | - | - | 0 |
111+
| Regressions ❌ <br /> (secondary) | 1.7% | [1.7%, 1.7%] | 2 |
112+
| Improvements ✅ <br /> (primary) | -1.0% | [-1.5%, -0.4%] | 3 |
113+
| Improvements ✅ <br /> (secondary) | -3.7% | [-4.2%, -3.2%] | 6 |
114+
| All ❌✅ (primary) | -1.0% | [-1.5%, -0.4%] | 3 |
115+
- Small number of regressions in secondary benchmarks in a rollup - I think we're fine calling this triaged.
116+
117+
118+
Update cargo [#107778](https://github.com/rust-lang/rust/pull/107778) [(Comparison Link)](https://perf.rust-lang.org/compare.html?start=b082e80e20475b1ec5b0bd0dd1dac3e6759c8022&end=7ba4e95368b2a71018cd995f5254ba3e7422954e&stat=instructions:u)
119+
120+
| (instructions:u) | mean | range | count |
121+
|:----------------------------------:|:-----:|:--------------:|:-----:|
122+
| Regressions ❌ <br /> (primary) | 1.1% | [0.4%, 1.5%] | 3 |
123+
| Regressions ❌ <br /> (secondary) | 3.3% | [1.7%, 4.4%] | 8 |
124+
| Improvements ✅ <br /> (primary) | -2.4% | [-7.7%, -0.4%] | 8 |
125+
| Improvements ✅ <br /> (secondary) | - | - | 0 |
126+
| All ❌✅ (primary) | -1.4% | [-7.7%, 1.5%] | 11 |
127+
- Most of the regressions are due to noise
128+
129+
130+
Optimize query_cache_hit to reduce code size of the query hot path. [#107529](https://github.com/rust-lang/rust/pull/107529) [(Comparison Link)](https://perf.rust-lang.org/compare.html?start=6eb9f2dd6752f591906281d8aa5e16a8c51a8801&end=a00e24d76a9ac03b146d3bf89e2161b2466c6551&stat=instructions:u)
131+
132+
| (instructions:u) | mean | range | count |
133+
|:----------------------------------:|:-----:|:--------------:|:-----:|
134+
| Regressions ❌ <br /> (primary) | 0.5% | [0.5%, 0.5%] | 1 |
135+
| Regressions ❌ <br /> (secondary) | - | - | 0 |
136+
| Improvements ✅ <br /> (primary) | -0.3% | [-0.4%, -0.2%] | 4 |
137+
| Improvements ✅ <br /> (secondary) | - | - | 0 |
138+
| All ❌✅ (primary) | -0.1% | [-0.4%, 0.5%] | 5 |
139+
- Regression is small
140+
141+
142+
Optimize `TyKind::eq`. [#107717](https://github.com/rust-lang/rust/pull/107717) [(Comparison Link)](https://perf.rust-lang.org/compare.html?start=ef934d9b632b8ac00276558824664c104b92b5f0&end=575d424c94e0d4feea8cf4fcf04d47b83f28eaef&stat=instructions:u)
143+
144+
| (instructions:u) | mean | range | count |
145+
|:----------------------------------:|:-----:|:--------------:|:-----:|
146+
| Regressions ❌ <br /> (primary) | 1.1% | [1.0%, 1.2%] | 2 |
147+
| Regressions ❌ <br /> (secondary) | 3.6% | [3.3%, 4.2%] | 6 |
148+
| Improvements ✅ <br /> (primary) | - | - | 0 |
149+
| Improvements ✅ <br /> (secondary) | -1.5% | [-1.6%, -1.3%] | 2 |
150+
| All ❌✅ (primary) | 1.1% | [1.0%, 1.2%] | 2 |
151+
- From @nnethercote: keccak and cranelift-codegen are noisy. wg-grammar saw the expected benefit, but it's now considered non-significant, I guess it must have been a bit noisy recently as well.
152+
153+
154+
Resolve documentation links in rustc and store the results in metadata [#94857](https://github.com/rust-lang/rust/pull/94857) [(Comparison Link)](https://perf.rust-lang.org/compare.html?start=71f6675de1faa2a8e897a8faaa861a0157b0e355&end=5b450244876154bc1bd134694398e80c12e00b5c&stat=instructions:u)
155+
156+
| (instructions:u) | mean | range | count |
157+
|:----------------------------------:|:-----:|:--------------:|:-----:|
158+
| Regressions ❌ <br /> (primary) | 0.6% | [0.3%, 1.5%] | 28 |
159+
| Regressions ❌ <br /> (secondary) | 0.3% | [0.3%, 0.3%] | 1 |
160+
| Improvements ✅ <br /> (primary) | -2.4% | [-5.7%, -0.6%] | 17 |
161+
| Improvements ✅ <br /> (secondary) | -3.4% | [-5.2%, -0.6%] | 21 |
162+
| All ❌✅ (primary) | -0.6% | [-5.7%, 1.5%] | 45 |
163+
- Landed after an MCP and some analysis of the regressions which were deemed acceptable: https://github.com/rust-lang/rust/pull/94857#issuecomment-1414293572
164+
165+
166+
simplify layout calculations in rawvec [#107167](https://github.com/rust-lang/rust/pull/107167) [(Comparison Link)](https://perf.rust-lang.org/compare.html?start=5b450244876154bc1bd134694398e80c12e00b5c&end=8dabf5da9e0318f8c324dc224ad49dc91472c2ec&stat=instructions:u)
167+
168+
| (instructions:u) | mean | range | count |
169+
|:----------------------------------:|:-----:|:--------------:|:-----:|
170+
| Regressions ❌ <br /> (primary) | 0.3% | [0.3%, 0.3%] | 2 |
171+
| Regressions ❌ <br /> (secondary) | - | - | 0 |
172+
| Improvements ✅ <br /> (primary) | -0.4% | [-0.7%, -0.2%] | 11 |
173+
| Improvements ✅ <br /> (secondary) | -0.6% | [-1.4%, -0.2%] | 9 |
174+
| All ❌✅ (primary) | -0.3% | [-0.7%, 0.3%] | 13 |
175+
- Improvements greatly exceed regressions here.
176+
177+
178+
Reverse Timsort scan direction [#107191](https://github.com/rust-lang/rust/pull/107191) [(Comparison Link)](https://perf.rust-lang.org/compare.html?start=7740f9a571b3c6510607b17b29c81eeb24a7c79a&end=96834f0231277e8feb8dcf185b2af082ad2e39f6&stat=instructions:u)
179+
180+
| (instructions:u) | mean | range | count |
181+
|:----------------------------------:|:-----:|:--------------:|:-----:|
182+
| Regressions ❌ <br /> (primary) | 0.6% | [0.6%, 0.6%] | 1 |
183+
| Regressions ❌ <br /> (secondary) | 0.2% | [0.2%, 0.2%] | 2 |
184+
| Improvements ✅ <br /> (primary) | -0.4% | [-0.4%, -0.4%] | 2 |
185+
| Improvements ✅ <br /> (secondary) | - | - | 0 |
186+
| All ❌✅ (primary) | -0.1% | [-0.4%, 0.6%] | 3 |
187+
- Regressions are small enough that I think we don't need to investigate this closely.
188+
189+
190+
Improve the `array::map` codegen [#107634](https://github.com/rust-lang/rust/pull/107634) [(Comparison Link)](https://perf.rust-lang.org/compare.html?start=20081880ad2a98bbc8c8293f96c5b284d1584d86&end=2d91939bb7130a8e6c092a290b7d37f654e3c23c&stat=instructions:u)
191+
192+
| (instructions:u) | mean | range | count |
193+
|:----------------------------------:|:-----:|:--------------:|:-----:|
194+
| Regressions ❌ <br /> (primary) | - | - | 0 |
195+
| Regressions ❌ <br /> (secondary) | 0.3% | [0.3%, 0.4%] | 6 |
196+
| Improvements ✅ <br /> (primary) | - | - | 0 |
197+
| Improvements ✅ <br /> (secondary) | -0.2% | [-0.3%, -0.2%] | 4 |
198+
| All ❌✅ (primary) | - | - | 0 |
199+
Perf is a wash
200+
201+
202+
rustc/rustdoc: Perform name resolver cleanups enabled by #94857 [#107765](https://github.com/rust-lang/rust/pull/107765) [(Comparison Link)](https://perf.rust-lang.org/compare.html?start=c3c6d73b04a718aceabc314bf231a20c90ccd601&end=e9ab7872fd77861e3d182ea85a82c4649c5bb3f8&stat=instructions:u)
203+
204+
| (instructions:u) | mean | range | count |
205+
|:----------------------------------:|:-----:|:--------------:|:-----:|
206+
| Regressions ❌ <br /> (primary) | 13.4% | [13.4%, 13.4%] | 1 |
207+
| Regressions ❌ <br /> (secondary) | - | - | 0 |
208+
| Improvements ✅ <br /> (primary) | -0.4% | [-0.4%, -0.4%] | 3 |
209+
| Improvements ✅ <br /> (secondary) | -0.2% | [-0.2%, -0.2%] | 1 |
210+
| All ❌✅ (primary) | 3.1% | [-0.4%, 13.4%] | 4 |
211+
- Being investigated by @petrochenkov
212+

0 commit comments

Comments
 (0)