Skip to content

Commit 44c5d9c

Browse files
Merge pull request #1534 from rylev/triage-2023-03-07
Add perf triage for 2023-03-07
2 parents 330e3c2 + eef863f commit 44c5d9c

File tree

1 file changed

+225
-0
lines changed

1 file changed

+225
-0
lines changed

triage/2023-03-07.md

Lines changed: 225 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,225 @@
1+
# 2023-03-07 Triage Log
2+
3+
A really quiet week with almost all regressions being due to noise in benchmarks that show "bimodality" in codegen that can cause swings in performance from one change to the other. The only true performance change was a two-line change by @nnethercote to remove a redundant function call which led to a 0.3% improvement in performance across roughly 15 benchmarks.
4+
5+
Triage done by **@rylev**.
6+
Revision range: [31f858d9..8f9e09ac](https://perf.rust-lang.org/?start=31f858d9a511f24fedb8ed997b28304fec809630&end=8f9e09ac3ef3fa85d23ad6a0c920d49987144b13&absolute=false&stat=instructions%3Au)
7+
8+
**Summary**:
9+
10+
| (instructions:u) | mean | range | count |
11+
|:----------------------------------:|:-----:|:--------------:|:-----:|
12+
| Regressions ❌ <br /> (primary) | - | - | 0 |
13+
| Regressions ❌ <br /> (secondary) | 2.0% | [1.2%, 2.8%] | 8 |
14+
| Improvements ✅ <br /> (primary) | -0.4% | [-0.7%, -0.2%] | 7 |
15+
| Improvements ✅ <br /> (secondary) | -1.0% | [-1.8%, -0.1%] | 31 |
16+
| All ❌✅ (primary) | -0.4% | [-0.7%, -0.2%] | 7 |
17+
18+
19+
7 Regressions, 8 Improvements, 2 Mixed; 7 of them in rollups
20+
35 artifact comparisons made in total
21+
22+
#### Regressions
23+
24+
Rollup of 5 pull requests [#108640](https://github.com/rust-lang/rust/pull/108640) [(Comparison Link)](https://perf.rust-lang.org/compare.html?start=18caf88956ecf454e24307e598b8ac9967f10b07&end=7e966bcd03f6d0fae41f58cf80bcb10566ab971a&stat=instructions:u)
25+
26+
| (instructions:u) | mean | range | count |
27+
|:----------------------------------:|:----:|:------------:|:-----:|
28+
| Regressions ❌ <br /> (primary) | - | - | 0 |
29+
| Regressions ❌ <br /> (secondary) | 3.2% | [2.1%, 4.4%] | 8 |
30+
| Improvements ✅ <br /> (primary) | - | - | 0 |
31+
| Improvements ✅ <br /> (secondary) | - | - | 0 |
32+
| All ❌✅ (primary) | - | - | 0 |
33+
- @nnethercote expects that `deep-vector` may have become susceptible to bimodal codegen which can cause swings in perf performance.
34+
35+
36+
Revert stabilization of `#![feature(target_feature_11)]` [#108654](https://github.com/rust-lang/rust/pull/108654) [(Comparison Link)](https://perf.rust-lang.org/compare.html?start=7e966bcd03f6d0fae41f58cf80bcb10566ab971a&end=13471d3b2046cce78181dde6cfc146c09f55e29e&stat=instructions:u)
37+
38+
| (instructions:u) | mean | range | count |
39+
|:----------------------------------:|:----:|:------------:|:-----:|
40+
| Regressions ❌ <br /> (primary) | 0.7% | [0.6%, 0.7%] | 3 |
41+
| Regressions ❌ <br /> (secondary) | 0.4% | [0.3%, 0.5%] | 4 |
42+
| Improvements ✅ <br /> (primary) | - | - | 0 |
43+
| Improvements ✅ <br /> (secondary) | - | - | 0 |
44+
| All ❌✅ (primary) | 0.7% | [0.6%, 0.7%] | 3 |
45+
- Noise: small regressions are immediately reversed in the next run.
46+
47+
48+
Add vectored positioned I/O on Unix [#89518](https://github.com/rust-lang/rust/pull/89518) [(Comparison Link)](https://perf.rust-lang.org/compare.html?start=70adb4e5b4c8f8bde4ade0edcb0435ff7bf31281&end=0fbfc3e76916521b509b63286296dd0762170d34&stat=instructions:u)
49+
50+
| (instructions:u) | mean | range | count |
51+
|:----------------------------------:|:----:|:------------:|:-----:|
52+
| Regressions ❌ <br /> (primary) | 0.2% | [0.2%, 0.3%] | 4 |
53+
| Regressions ❌ <br /> (secondary) | - | - | 0 |
54+
| Improvements ✅ <br /> (primary) | - | - | 0 |
55+
| Improvements ✅ <br /> (secondary) | - | - | 0 |
56+
| All ❌✅ (primary) | 0.2% | [0.2%, 0.3%] | 4 |
57+
- Small regression in Diesel which has started to show some bimodality. I think it's safe to call this triaged.
58+
59+
60+
Remove `NormalizationError::ConstantKind` [#108689](https://github.com/rust-lang/rust/pull/108689) [(Comparison Link)](https://perf.rust-lang.org/compare.html?start=0fbfc3e76916521b509b63286296dd0762170d34&end=01b7a6a9eac151f82831c402f91894552f5ca36d&stat=instructions:u)
61+
62+
| (instructions:u) | mean | range | count |
63+
|:----------------------------------:|:-----:|:--------------:|:-----:|
64+
| Regressions ❌ <br /> (primary) | 1.1% | [1.0%, 1.1%] | 2 |
65+
| Regressions ❌ <br /> (secondary) | 2.3% | [2.1%, 2.7%] | 6 |
66+
| Improvements ✅ <br /> (primary) | - | - | 0 |
67+
| Improvements ✅ <br /> (secondary) | -0.6% | [-0.6%, -0.6%] | 1 |
68+
| All ❌✅ (primary) | 1.1% | [1.0%, 1.1%] | 2 |
69+
- more `keccak` and `cranelift-codegen` noise.
70+
71+
72+
Bump version to 1.70.0 [#108740](https://github.com/rust-lang/rust/pull/108740) [(Comparison Link)](https://perf.rust-lang.org/compare.html?start=b1719530f44e3c8ec903f76020a52bd8764d5d10&end=f15f0ea73972786e426732c5b92ba9a904b866c4&stat=instructions:u)
73+
74+
| (instructions:u) | mean | range | count |
75+
|:----------------------------------:|:----:|:------------:|:-----:|
76+
| Regressions ❌ <br /> (primary) | 0.3% | [0.3%, 0.4%] | 6 |
77+
| Regressions ❌ <br /> (secondary) | - | - | 0 |
78+
| Improvements ✅ <br /> (primary) | - | - | 0 |
79+
| Improvements ✅ <br /> (secondary) | - | - | 0 |
80+
| All ❌✅ (primary) | 0.3% | [0.3%, 0.4%] | 6 |
81+
- Perhaps due to shuffled hashes? In any case, not much that can be done.
82+
83+
84+
Add more debug assertions to unsafe functions [#105117](https://github.com/rust-lang/rust/pull/105117) [(Comparison Link)](https://perf.rust-lang.org/compare.html?start=73c8d2df7b36387553442a815d2b72f7ea5878aa&end=7820b62d20bc548096d4632a3487987308cb4b5d&stat=instructions:u)
85+
86+
| (instructions:u) | mean | range | count |
87+
|:----------------------------------:|:----:|:------------:|:-----:|
88+
| Regressions ❌ <br /> (primary) | 1.0% | [0.9%, 1.1%] | 2 |
89+
| Regressions ❌ <br /> (secondary) | 2.3% | [2.0%, 2.7%] | 6 |
90+
| Improvements ✅ <br /> (primary) | - | - | 0 |
91+
| Improvements ✅ <br /> (secondary) | - | - | 0 |
92+
| All ❌✅ (primary) | 1.0% | [0.9%, 1.1%] | 2 |
93+
- more `cranelift-codegen` noise.
94+
95+
96+
Rollup of 7 pull requests [#108789](https://github.com/rust-lang/rust/pull/108789) [(Comparison Link)](https://perf.rust-lang.org/compare.html?start=816f958ac3db8931855c42649809aead01d20d9b&end=8c0f83d773370150a6ea1b40b36b55566e40a73c&stat=instructions:u)
97+
98+
| (instructions:u) | mean | range | count |
99+
|:----------------------------------:|:----:|:------------:|:-----:|
100+
| Regressions ❌ <br /> (primary) | 1.1% | [1.0%, 1.1%] | 2 |
101+
| Regressions ❌ <br /> (secondary) | 2.3% | [2.1%, 2.7%] | 6 |
102+
| Improvements ✅ <br /> (primary) | - | - | 0 |
103+
| Improvements ✅ <br /> (secondary) | - | - | 0 |
104+
| All ❌✅ (primary) | 1.1% | [1.0%, 1.1%] | 2 |
105+
- more `keccak` and `cranelift-codegen` noise.
106+
107+
108+
#### Improvements
109+
110+
Remove or document uses of #[rustc_box] in library [#108476](https://github.com/rust-lang/rust/pull/108476) [(Comparison Link)](https://perf.rust-lang.org/compare.html?start=bcb610da7fae8297689883782601ecb8645604e2&end=64165aac68af780182ff89a6eb3982e3c262266e&stat=instructions:u)
111+
112+
| (instructions:u) | mean | range | count |
113+
|:----------------------------------:|:-----:|:--------------:|:-----:|
114+
| Regressions ❌ <br /> (primary) | - | - | 0 |
115+
| Regressions ❌ <br /> (secondary) | - | - | 0 |
116+
| Improvements ✅ <br /> (primary) | -0.6% | [-0.7%, -0.5%] | 4 |
117+
| Improvements ✅ <br /> (secondary) | -0.3% | [-0.3%, -0.3%] | 3 |
118+
| All ❌✅ (primary) | -0.6% | [-0.7%, -0.5%] | 4 |
119+
- Revert of noise
120+
121+
122+
Rollup of 8 pull requests [#108677](https://github.com/rust-lang/rust/pull/108677) [(Comparison Link)](https://perf.rust-lang.org/compare.html?start=13471d3b2046cce78181dde6cfc146c09f55e29e&end=7a809ce8997a1697b166b4bb2594993e87d69f31&stat=instructions:u)
123+
124+
| (instructions:u) | mean | range | count |
125+
|:----------------------------------:|:-----:|:--------------:|:-----:|
126+
| Regressions ❌ <br /> (primary) | - | - | 0 |
127+
| Regressions ❌ <br /> (secondary) | - | - | 0 |
128+
| Improvements ✅ <br /> (primary) | -0.6% | [-0.7%, -0.6%] | 3 |
129+
| Improvements ✅ <br /> (secondary) | -0.4% | [-0.5%, -0.3%] | 4 |
130+
| All ❌✅ (primary) | -0.6% | [-0.7%, -0.6%] | 3 |
131+
- Revert of noise
132+
133+
134+
Rollup of 8 pull requests [#108709](https://github.com/rust-lang/rust/pull/108709) [(Comparison Link)](https://perf.rust-lang.org/compare.html?start=44cfafe2fafe816395d3acc434663a45d5178c41&end=70adb4e5b4c8f8bde4ade0edcb0435ff7bf31281&stat=instructions:u)
135+
136+
| (instructions:u) | mean | range | count |
137+
|:----------------------------------:|:-----:|:--------------:|:-----:|
138+
| Regressions ❌ <br /> (primary) | - | - | 0 |
139+
| Regressions ❌ <br /> (secondary) | - | - | 0 |
140+
| Improvements ✅ <br /> (primary) | -1.0% | [-1.1%, -0.9%] | 2 |
141+
| Improvements ✅ <br /> (secondary) | -2.3% | [-2.6%, -2.0%] | 6 |
142+
| All ❌✅ (primary) | -1.0% | [-1.1%, -0.9%] | 2 |
143+
- Revert of noise
144+
145+
146+
Rollup of 6 pull requests [#108732](https://github.com/rust-lang/rust/pull/108732) [(Comparison Link)](https://perf.rust-lang.org/compare.html?start=01b7a6a9eac151f82831c402f91894552f5ca36d&end=276b75a843af8822ffe4e395266d9445679a57a4&stat=instructions:u)
147+
148+
| (instructions:u) | mean | range | count |
149+
|:----------------------------------:|:-----:|:--------------:|:-----:|
150+
| Regressions ❌ <br /> (primary) | - | - | 0 |
151+
| Regressions ❌ <br /> (secondary) | - | - | 0 |
152+
| Improvements ✅ <br /> (primary) | -0.3% | [-0.4%, -0.3%] | 6 |
153+
| Improvements ✅ <br /> (secondary) | - | - | 0 |
154+
| All ❌✅ (primary) | -0.3% | [-0.4%, -0.3%] | 6 |
155+
- Revert of noise
156+
157+
158+
Don't call `temporary_scope` twice. [#108692](https://github.com/rust-lang/rust/pull/108692) [(Comparison Link)](https://perf.rust-lang.org/compare.html?start=276b75a843af8822ffe4e395266d9445679a57a4&end=b1719530f44e3c8ec903f76020a52bd8764d5d10&stat=instructions:u)
159+
160+
| (instructions:u) | mean | range | count |
161+
|:----------------------------------:|:-----:|:--------------:|:-----:|
162+
| Regressions ❌ <br /> (primary) | - | - | 0 |
163+
| Regressions ❌ <br /> (secondary) | - | - | 0 |
164+
| Improvements ✅ <br /> (primary) | -0.3% | [-0.6%, -0.2%] | 15 |
165+
| Improvements ✅ <br /> (secondary) | -1.0% | [-1.5%, -0.4%] | 27 |
166+
| All ❌✅ (primary) | -0.3% | [-0.6%, -0.2%] | 15 |
167+
168+
169+
Desugaring of drop and replace at MIR build [#107844](https://github.com/rust-lang/rust/pull/107844) [(Comparison Link)](https://perf.rust-lang.org/compare.html?start=35636f9459720513ca4ed19373a4a7c9e0ea3c46&end=14c54b637b18f74680d0c0441216714b5e9c150d&stat=instructions:u)
170+
171+
| (instructions:u) | mean | range | count |
172+
|:----------------------------------:|:-----:|:--------------:|:-----:|
173+
| Regressions ❌ <br /> (primary) | - | - | 0 |
174+
| Regressions ❌ <br /> (secondary) | - | - | 0 |
175+
| Improvements ✅ <br /> (primary) | -1.0% | [-1.1%, -1.0%] | 2 |
176+
| Improvements ✅ <br /> (secondary) | -2.0% | [-2.6%, -0.3%] | 7 |
177+
| All ❌✅ (primary) | -1.0% | [-1.1%, -1.0%] | 2 |
178+
179+
180+
Use `partial_cmp` to implement tuple `lt`/`le`/`ge`/`gt` [#108157](https://github.com/rust-lang/rust/pull/108157) [(Comparison Link)](https://perf.rust-lang.org/compare.html?start=7820b62d20bc548096d4632a3487987308cb4b5d&end=816f958ac3db8931855c42649809aead01d20d9b&stat=instructions:u)
181+
182+
| (instructions:u) | mean | range | count |
183+
|:----------------------------------:|:-----:|:--------------:|:-----:|
184+
| Regressions ❌ <br /> (primary) | - | - | 0 |
185+
| Regressions ❌ <br /> (secondary) | - | - | 0 |
186+
| Improvements ✅ <br /> (primary) | -1.2% | [-1.6%, -0.6%] | 3 |
187+
| Improvements ✅ <br /> (secondary) | -2.2% | [-2.6%, -2.0%] | 6 |
188+
| All ❌✅ (primary) | -1.2% | [-1.6%, -0.6%] | 3 |
189+
190+
191+
Erase regions even when failing to normalize type in MIR opts [#108787](https://github.com/rust-lang/rust/pull/108787) [(Comparison Link)](https://perf.rust-lang.org/compare.html?start=8c0f83d773370150a6ea1b40b36b55566e40a73c&end=ac4379fea9e83465d814bb05005689f49bd2141e&stat=instructions:u)
192+
193+
| (instructions:u) | mean | range | count |
194+
|:----------------------------------:|:-----:|:--------------:|:-----:|
195+
| Regressions ❌ <br /> (primary) | - | - | 0 |
196+
| Regressions ❌ <br /> (secondary) | - | - | 0 |
197+
| Improvements ✅ <br /> (primary) | -1.0% | [-1.1%, -1.0%] | 2 |
198+
| Improvements ✅ <br /> (secondary) | -2.2% | [-2.6%, -2.0%] | 6 |
199+
| All ❌✅ (primary) | -1.0% | [-1.1%, -1.0%] | 2 |
200+
201+
202+
#### Mixed
203+
204+
Rollup of 10 pull requests [#108587](https://github.com/rust-lang/rust/pull/108587) [(Comparison Link)](https://perf.rust-lang.org/compare.html?start=5983a3a99ea631da9d7d1ce510a6761913f92a89&end=bcb610da7fae8297689883782601ecb8645604e2&stat=instructions:u)
205+
206+
| (instructions:u) | mean | range | count |
207+
|:----------------------------------:|:-----:|:--------------:|:-----:|
208+
| Regressions ❌ <br /> (primary) | 0.7% | [0.7%, 0.8%] | 4 |
209+
| Regressions ❌ <br /> (secondary) | 0.4% | [0.3%, 0.6%] | 4 |
210+
| Improvements ✅ <br /> (primary) | - | - | 0 |
211+
| Improvements ✅ <br /> (secondary) | -0.8% | [-0.8%, -0.8%] | 1 |
212+
| All ❌✅ (primary) | 0.7% | [0.7%, 0.8%] | 4 |
213+
- Noise that is counter balanced by [#108476](https://github.com/rust-lang/rust/pull/108476).
214+
215+
216+
Rollup of 7 pull requests [#108707](https://github.com/rust-lang/rust/pull/108707) [(Comparison Link)](https://perf.rust-lang.org/compare.html?start=7a809ce8997a1697b166b4bb2594993e87d69f31&end=44cfafe2fafe816395d3acc434663a45d5178c41&stat=instructions:u)
217+
218+
| (instructions:u) | mean | range | count |
219+
|:----------------------------------:|:-----:|:--------------:|:-----:|
220+
| Regressions ❌ <br /> (primary) | 0.7% | [0.6%, 0.7%] | 2 |
221+
| Regressions ❌ <br /> (secondary) | 1.5% | [1.3%, 1.7%] | 6 |
222+
| Improvements ✅ <br /> (primary) | -0.4% | [-0.4%, -0.3%] | 3 |
223+
| Improvements ✅ <br /> (secondary) | -0.7% | [-1.0%, -0.5%] | 9 |
224+
| All ❌✅ (primary) | 0.1% | [-0.4%, 0.7%] | 5 |
225+
- Regressions are just noise in the historically noisy benchmarks

0 commit comments

Comments
 (0)