Skip to content

Commit f1670de

Browse files
Merge pull request #1292 from Mark-Simulacrum/triage
Add triage for this week
2 parents 64b3444 + 7f355dc commit f1670de

File tree

1 file changed

+139
-0
lines changed

1 file changed

+139
-0
lines changed

β€Žtriage/2022-04-12.md

Lines changed: 139 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,139 @@
1+
# 2022-04-12 Triage Log
2+
3+
A week with a large amount of changes in rollups, which makes performance triage difficult. The performance team and the infra team are working on finding ways to automate marking PRs as likely a poor choice for rolling up. Otherwise, the week overall saw a ~1% improvement in incremental check builds, with smaller improvements to incremental debug and release builds. A number of benchmarks have been updated in the last few weeks, which has meant a decrease in the automated noise assessment's algorithm performance, but that should settle out to steady state behavior on its own in the next few days.
4+
5+
Triage done by **@simulacrum**.
6+
Revision range: [949b98cab8a186b98bf87e64374b8d0848c55271..4e1927db3c399fa34dc71992bd5dbec09f945c3d](https://perf.rust-lang.org/?start=949b98cab8a186b98bf87e64374b8d0848c55271&end=4e1927db3c399fa34dc71992bd5dbec09f945c3d&absolute=false&stat=instructions%3Au)
7+
8+
5 Regressions, 4 Improvements, 7 Mixed; 7 of them in rollups
9+
50 artifact comparisons made in total
10+
11+
#### Regressions
12+
13+
Update libc to 0.2.121 [#95688](https://github.com/rust-lang/rust/pull/95688) [(Comparison Link)](https://perf.rust-lang.org/compare.html?start=2310da432ca1c3e87f1d17e069f2336f2d4939e5&end=846993ec43c615c64a0496d3eb3c8615830842e4&stat=instructions:u)
14+
| | Regressions 😿 <br />(primary) | Regressions 😿 <br />(secondary) | Improvements πŸŽ‰ <br />(primary) | Improvements πŸŽ‰ <br />(secondary) | All 😿 πŸŽ‰ <br />(primary) |
15+
|:---:|:---:|:---:|:---:|:---:|:---:|
16+
| count | 8 | 19 | 0 | 0 | 8 |
17+
| mean | 1.2% | 0.9% | N/A | N/A | 1.2% |
18+
| max | 1.2% | 1.2% | N/A | N/A | 1.2% |
19+
* This is pretty likely to just be natural increases in compile times when key dependencies like libc increase in size.
20+
21+
Rollup of 6 pull requests [#95840](https://github.com/rust-lang/rust/pull/95840) [(Comparison Link)](https://perf.rust-lang.org/compare.html?start=399dd8049d4b27329350937e3e17077205bdc0bf&end=fbdb10f9fabe47eb763cb4b52b5721740cc63783&stat=instructions:u)
22+
| | Regressions 😿 <br />(primary) | Regressions 😿 <br />(secondary) | Improvements πŸŽ‰ <br />(primary) | Improvements πŸŽ‰ <br />(secondary) | All 😿 πŸŽ‰ <br />(primary) |
23+
|:---:|:---:|:---:|:---:|:---:|:---:|
24+
| count | 10 | 21 | 0 | 3 | 10 |
25+
| mean | 0.6% | 0.9% | N/A | -0.4% | 0.6% |
26+
| max | 1.2% | 1.3% | N/A | -0.5% | 1.2% |
27+
* Primarily limited to doc builds, seems likely to be caused by #95769.
28+
29+
Rollup of 7 pull requests [#95889](https://github.com/rust-lang/rust/pull/95889) [(Comparison Link)](https://perf.rust-lang.org/compare.html?start=027a232755fa9728e9699337267f6675dfd0a8ba&end=1f7fb6413d6d6c0c929b223e478e44c3db991b03&stat=instructions:u)
30+
| | Regressions 😿 <br />(primary) | Regressions 😿 <br />(secondary) | Improvements πŸŽ‰ <br />(primary) | Improvements πŸŽ‰ <br />(secondary) | All 😿 πŸŽ‰ <br />(primary) |
31+
|:---:|:---:|:---:|:---:|:---:|:---:|
32+
| count | 5 | 0 | 0 | 0 | 5 |
33+
| mean | 0.3% | N/A | N/A | N/A | 0.3% |
34+
| max | 0.5% | N/A | N/A | N/A | 0.5% |
35+
* Unclear cause, and fairly small regression. Given this is a rollup likely not worth the time to investigate -- benefit/cost tradeoff is not worth it.
36+
37+
Faster parsing for lower numbers for radix up to 16 (cont.) [#95399](https://github.com/rust-lang/rust/pull/95399) [(Comparison Link)](https://perf.rust-lang.org/compare.html?start=b8f4cb6231dc7d4ff9afe62de798af0dc18ae835&end=4e1927db3c399fa34dc71992bd5dbec09f945c3d&stat=instructions:u)
38+
| | Regressions 😿 <br />(primary) | Regressions 😿 <br />(secondary) | Improvements πŸŽ‰ <br />(primary) | Improvements πŸŽ‰ <br />(secondary) | All 😿 πŸŽ‰ <br />(primary) |
39+
|:---:|:---:|:---:|:---:|:---:|:---:|
40+
| count | 0 | 14 | 0 | 0 | 0 |
41+
| mean | N/A | 0.3% | N/A | N/A | N/A |
42+
| max | N/A | 0.5% | N/A | N/A | N/A |
43+
* Unclear that this will be an easy regression to investigate, changes are pretty extensive, and justification slim beyond theoretical microbenchmarks.
44+
45+
Rollup of 7 pull requests [#95855](https://github.com/rust-lang/rust/pull/95855) [(Comparison Link)](https://perf.rust-lang.org/compare.html?start=8c1fb2eb23964b56bd279b12aa925935d8559870&end=8bf93e9b6791acee3a594ed202fdfe45ad9952b5&stat=instructions:u)
46+
| | Regressions 😿 <br />(primary) | Regressions 😿 <br />(secondary) | Improvements πŸŽ‰ <br />(primary) | Improvements πŸŽ‰ <br />(secondary) | All 😿 πŸŽ‰ <br />(primary) |
47+
|:---:|:---:|:---:|:---:|:---:|:---:|
48+
| count | 0 | 9 | 5 | 1 | 5 |
49+
| mean | N/A | 1.0% | -0.8% | -1.0% | -0.8% |
50+
| max | N/A | 1.7% | -1.1% | -1.0% | -1.1% |
51+
52+
#### Improvements
53+
54+
Call `compute_locs` once per rule [#95669](https://github.com/rust-lang/rust/pull/95669) [(Comparison Link)](https://perf.rust-lang.org/compare.html?start=b6ab1fae73a14db17a59e81c532a2b8f048ac159&end=c2afaba465e0bf44b9b37beba8d908b78dcdadc7&stat=instructions:u)
55+
| | Regressions 😿 <br />(primary) | Regressions 😿 <br />(secondary) | Improvements πŸŽ‰ <br />(primary) | Improvements πŸŽ‰ <br />(secondary) | All 😿 πŸŽ‰ <br />(primary) |
56+
|:---:|:---:|:---:|:---:|:---:|:---:|
57+
| count | 0 | 0 | 23 | 10 | 23 |
58+
| mean | N/A | N/A | -1.4% | -1.3% | -1.4% |
59+
| max | N/A | N/A | -3.5% | -3.4% | -3.5% |
60+
61+
Shrink `Nonterminal` [#95715](https://github.com/rust-lang/rust/pull/95715) [(Comparison Link)](https://perf.rust-lang.org/compare.html?start=ed6c958ee4bf081deec951996ace9c508360c1d9&end=fa723160318fac5f3fa6f4141cfc41c0606a3008&stat=instructions:u)
62+
| | Regressions 😿 <br />(primary) | Regressions 😿 <br />(secondary) | Improvements πŸŽ‰ <br />(primary) | Improvements πŸŽ‰ <br />(secondary) | All 😿 πŸŽ‰ <br />(primary) |
63+
|:---:|:---:|:---:|:---:|:---:|:---:|
64+
| count | 0 | 1 | 0 | 4 | 0 |
65+
| mean | N/A | 0.3% | N/A | -0.3% | N/A |
66+
| max | N/A | 0.3% | N/A | -0.5% | N/A |
67+
* This was originally categorized as a mixed change, and even though there is a regression, it seems overall to be an improvement if anything.
68+
69+
rustdoc: Early doc link resolution fixes and refactorings [#95706](https://github.com/rust-lang/rust/pull/95706) [(Comparison Link)](https://perf.rust-lang.org/compare.html?start=fa723160318fac5f3fa6f4141cfc41c0606a3008&end=dd38eea722c1f6f970a314435533e91cc2c14ffb&stat=instructions:u)
70+
| | Regressions 😿 <br />(primary) | Regressions 😿 <br />(secondary) | Improvements πŸŽ‰ <br />(primary) | Improvements πŸŽ‰ <br />(secondary) | All 😿 πŸŽ‰ <br />(primary) |
71+
|:---:|:---:|:---:|:---:|:---:|:---:|
72+
| count | 2 | 6 | 3 | 10 | 5 |
73+
| mean | 0.4% | 1.2% | -13.9% | -16.4% | -8.2% |
74+
| max | 0.4% | 1.3% | -24.5% | -24.3% | -24.5% |
75+
* This change has a few regressions, but those are likely to be unrelated noise. The improvements are large and significant.
76+
77+
CI: update `rustc-perf` version used in CI and also the corresponding PGO benchmarks [#95724](https://github.com/rust-lang/rust/pull/95724) [(Comparison Link)](https://perf.rust-lang.org/compare.html?start=4bb685e4714a2b310774f45c3d023d1743de8bd0&end=399dd8049d4b27329350937e3e17077205bdc0bf&stat=instructions:u)
78+
| | Regressions 😿 <br />(primary) | Regressions 😿 <br />(secondary) | Improvements πŸŽ‰ <br />(primary) | Improvements πŸŽ‰ <br />(secondary) | All 😿 πŸŽ‰ <br />(primary) |
79+
|:---:|:---:|:---:|:---:|:---:|:---:|
80+
| count | 0 | 13 | 102 | 101 | 102 |
81+
| mean | N/A | 1.0% | -0.7% | -1.0% | -0.7% |
82+
| max | N/A | 1.3% | -2.2% | -2.7% | -2.2% |
83+
* Overall a slight improvement, likely from better data due to updated benchmarks.
84+
85+
86+
#### Mixed
87+
88+
Rollup of 5 pull requests [#95667](https://github.com/rust-lang/rust/pull/95667) [(Comparison Link)](https://perf.rust-lang.org/compare.html?start=949b98cab8a186b98bf87e64374b8d0848c55271&end=634770c0a7f8598164ab825cfe419cc8b03c36e5&stat=instructions:u)
89+
| | Regressions 😿 <br />(primary) | Regressions 😿 <br />(secondary) | Improvements πŸŽ‰ <br />(primary) | Improvements πŸŽ‰ <br />(secondary) | All 😿 πŸŽ‰ <br />(primary) |
90+
|:---:|:---:|:---:|:---:|:---:|:---:|
91+
| count | 17 | 39 | 14 | 0 | 31 |
92+
| mean | 6.2% | 7.9% | -0.8% | N/A | 3.1% |
93+
| max | 39.4% | 38.9% | -1.6% | N/A | 39.4% |
94+
* Investigation shows this regression to be primarily caused by new support for diagnostic translations; investigation is ongoing, but it sounds like there are ways to claw back some of the performance hit.
95+
96+
Rollup of 8 pull requests [#95702](https://github.com/rust-lang/rust/pull/95702) [(Comparison Link)](https://perf.rust-lang.org/compare.html?start=306ba8357fb36212b7d30efb9eb9e41659ac1445&end=bbe9d27b8ff36da56638aa43d6d0cdfdf89a4e57&stat=instructions:u)
97+
| | Regressions 😿 <br />(primary) | Regressions 😿 <br />(secondary) | Improvements πŸŽ‰ <br />(primary) | Improvements πŸŽ‰ <br />(secondary) | All 😿 πŸŽ‰ <br />(primary) |
98+
|:---:|:---:|:---:|:---:|:---:|:---:|
99+
| count | 2 | 6 | 2 | 6 | 4 |
100+
| mean | 0.3% | 1.1% | -0.2% | -0.4% | 0.1% |
101+
| max | 0.4% | 1.2% | -0.2% | -0.7% | 0.4% |
102+
* Unclear cause. Regression *might* be noise, but it's hard to say -- the keccak benchmark is in line with the ~1% noise we've seen elsewhere this week, but the other benchmarks (particularly in the primary category) seem potentially less likely to be noise. deep-vector is also affected.
103+
104+
Rollup of 6 pull requests [#95742](https://github.com/rust-lang/rust/pull/95742) [(Comparison Link)](https://perf.rust-lang.org/compare.html?start=c2afaba465e0bf44b9b37beba8d908b78dcdadc7&end=8f36334ca939a67cce3f37f24953ff6f2d3f3d33&stat=instructions:u)
105+
| | Regressions 😿 <br />(primary) | Regressions 😿 <br />(secondary) | Improvements πŸŽ‰ <br />(primary) | Improvements πŸŽ‰ <br />(secondary) | All 😿 πŸŽ‰ <br />(primary) |
106+
|:---:|:---:|:---:|:---:|:---:|:---:|
107+
| count | 6 | 31 | 12 | 10 | 18 |
108+
| mean | 0.4% | 0.5% | -0.6% | -0.4% | -0.3% |
109+
| max | 0.7% | 0.8% | -2.4% | -0.6% | -2.4% |
110+
* Fairly large number of benchmarks showing small-ish changes, both positive and negative. Cause is unclear.
111+
112+
Avoid accessing HIR from MIR passes [#95487](https://github.com/rust-lang/rust/pull/95487) [(Comparison Link)](https://perf.rust-lang.org/compare.html?start=18f32b73bdb3833c18c73fe3062bde8e1721ccca&end=027a232755fa9728e9699337267f6675dfd0a8ba&stat=instructions:u)
113+
| | Regressions 😿 <br />(primary) | Regressions 😿 <br />(secondary) | Improvements πŸŽ‰ <br />(primary) | Improvements πŸŽ‰ <br />(secondary) | All 😿 πŸŽ‰ <br />(primary) |
114+
|:---:|:---:|:---:|:---:|:---:|:---:|
115+
| count | 0 | 9 | 1 | 0 | 1 |
116+
| mean | N/A | 0.5% | -0.6% | N/A | -0.6% |
117+
| max | N/A | 0.9% | -0.6% | N/A | -0.6% |
118+
119+
Add new `Deinit` statement [#95125](https://github.com/rust-lang/rust/pull/95125) [(Comparison Link)](https://perf.rust-lang.org/compare.html?start=43998d544108b613c4631ed60249880167e8aafc&end=625e4dd13a3abd0cc59807af66c3c4cd63440852&stat=instructions:u)
120+
| | Regressions 😿 <br />(primary) | Regressions 😿 <br />(secondary) | Improvements πŸŽ‰ <br />(primary) | Improvements πŸŽ‰ <br />(secondary) | All 😿 πŸŽ‰ <br />(primary) |
121+
|:---:|:---:|:---:|:---:|:---:|:---:|
122+
| count | 27 | 39 | 4 | 17 | 31 |
123+
| mean | 0.5% | 1.4% | -0.9% | -1.0% | 0.3% |
124+
| max | 1.6% | 4.1% | -1.4% | -2.2% | 1.6% |
125+
126+
Rollup of 7 pull requests [#95944](https://github.com/rust-lang/rust/pull/95944) [(Comparison Link)](https://perf.rust-lang.org/compare.html?start=90ca44752a79dd414d9a0ccf7a74533a99080988&end=de392c7d31602ddf0fae1143c5ad822a1abe89df&stat=instructions:u)
127+
| | Regressions 😿 <br />(primary) | Regressions 😿 <br />(secondary) | Improvements πŸŽ‰ <br />(primary) | Improvements πŸŽ‰ <br />(secondary) | All 😿 πŸŽ‰ <br />(primary) |
128+
|:---:|:---:|:---:|:---:|:---:|:---:|
129+
| count | 0 | 6 | 5 | 9 | 5 |
130+
| mean | N/A | 0.4% | -0.2% | -0.5% | -0.2% |
131+
| max | N/A | 0.5% | -0.4% | -1.8% | -0.4% |
132+
133+
134+
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. [#95893](https://github.com/rust-lang/rust/pull/95893) [(Comparison Link)](https://perf.rust-lang.org/compare.html?start=36f4ded69eb50c080991d624b7cd7f40466cea25&end=b8f4cb6231dc7d4ff9afe62de798af0dc18ae835&stat=instructions:u)
135+
| | Regressions 😿 <br />(primary) | Regressions 😿 <br />(secondary) | Improvements πŸŽ‰ <br />(primary) | Improvements πŸŽ‰ <br />(secondary) | All 😿 πŸŽ‰ <br />(primary) |
136+
|:---:|:---:|:---:|:---:|:---:|:---:|
137+
| count | 0 | 3 | 0 | 6 | 0 |
138+
| mean | N/A | 0.5% | N/A | -0.4% | N/A |
139+
| max | N/A | 0.6% | N/A | -0.5% | N/A |

0 commit comments

Comments
Β (0)