Skip to content

Commit 420cfca

Browse files
Merge pull request #1930 from Mark-Simulacrum/triage
Add triage for this week
2 parents d5894fc + 9f9af84 commit 420cfca

File tree

1 file changed

+179
-0
lines changed

1 file changed

+179
-0
lines changed

triage/2024-06-23.md

Lines changed: 179 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,179 @@
1+
# 2024-06-23 Triage Log
2+
3+
Mostly a number of improvements driven by [MIR inliner improvements], with a small number
4+
benchmarks having a significant regression due to improvements in
5+
[sort algorithms], which are runtime improvements at the cost of usually slight or
6+
neutral compile time regressions, with outliers in a few cases.
7+
8+
[MIR inliner improvements]: https://github.com/rust-lang/rust/pull/126578
9+
[sort algorithms]: https://github.com/rust-lang/rust/pull/124032
10+
11+
Triage done by **@simulacrum**.
12+
Revision range: [c2932aaf..c3d7fb39](https://perf.rust-lang.org/?start=c2932aaf9d20acbc9259c762f1a06f8767c6f13f&end=c3d7fb398569407350abe044e786bc7890c90397&absolute=false&stat=instructions%3Au)
13+
14+
**Summary**:
15+
16+
| (instructions:u) | mean | range | count |
17+
|:----------------------------------:|:-----:|:--------------:|:-----:|
18+
| Regressions ❌ <br /> (primary) | 2.6% | [0.2%, 16.4%] | 36 |
19+
| Regressions ❌ <br /> (secondary) | 1.4% | [0.1%, 5.0%] | 31 |
20+
| Improvements ✅ <br /> (primary) | -0.8% | [-1.6%, -0.2%] | 184 |
21+
| Improvements ✅ <br /> (secondary) | -0.9% | [-3.4%, -0.3%] | 138 |
22+
| All ❌✅ (primary) | -0.2% | [-1.6%, 16.4%] | 220 |
23+
24+
25+
4 Regressions, 5 Improvements, 3 Mixed; 2 of them in rollups
26+
48 artifact comparisons made in total
27+
28+
#### Regressions
29+
30+
Rollup of 10 pull requests [#126655](https://github.com/rust-lang/rust/pull/126655) [(Comparison Link)](https://perf.rust-lang.org/compare.html?start=4e63822fc4e2ca675dd28bb3f332f7fd4f3f8126&end=a1ca449981e3b8442e358026437b7bedb9a1458e&stat=instructions:u)
31+
32+
| (instructions:u) | mean | range | count |
33+
|:----------------------------------:|:----:|:------------:|:-----:|
34+
| Regressions ❌ <br /> (primary) | 0.3% | [0.2%, 0.3%] | 6 |
35+
| Regressions ❌ <br /> (secondary) | 0.5% | [0.2%, 0.9%] | 8 |
36+
| Improvements ✅ <br /> (primary) | - | - | 0 |
37+
| Improvements ✅ <br /> (secondary) | - | - | 0 |
38+
| All ❌✅ (primary) | 0.3% | [0.2%, 0.3%] | 6 |
39+
40+
Slight instruction count regressions, but mostly in somewhat noisy benchmarks.
41+
It looks like performance went back to previous levels in the next few commits.
42+
43+
Replace sort implementations [#124032](https://github.com/rust-lang/rust/pull/124032) [(Comparison Link)](https://perf.rust-lang.org/compare.html?start=433355166d769afc9c19f761cc7efc4d152e9a2c&end=684b3553f70148ded97a80371c2405984d4f6aa7&stat=instructions:u)
44+
45+
| (instructions:u) | mean | range | count |
46+
|:----------------------------------:|:-----:|:--------------:|:-----:|
47+
| Regressions ❌ <br /> (primary) | 2.1% | [0.2%, 18.0%] | 51 |
48+
| Regressions ❌ <br /> (secondary) | 1.6% | [0.4%, 3.9%] | 8 |
49+
| Improvements ✅ <br /> (primary) | -0.3% | [-0.3%, -0.3%] | 1 |
50+
| Improvements ✅ <br /> (secondary) | - | - | 0 |
51+
| All ❌✅ (primary) | 2.0% | [-0.3%, 18.0%] | 52 |
52+
53+
This change was extensively benchmarked, and the regressions were known ahead
54+
of time. Runtime improvements are considered worth the regressions, which are
55+
limited to just a few benchmarks. (Extensive effort was also put in to minimize
56+
the compile time and binary size costs).
57+
58+
Properly gate `safe` keyword in pre-expansion [#126757](https://github.com/rust-lang/rust/pull/126757) [(Comparison Link)](https://perf.rust-lang.org/compare.html?start=7a08f84627ff3035de4d66ff3209e5fc93165dcb&end=4e6de37349c7838df095b085a2640cb6a007c96a&stat=instructions:u)
59+
60+
| (instructions:u) | mean | range | count |
61+
|:----------------------------------:|:----:|:------------:|:-----:|
62+
| Regressions ❌ <br /> (primary) | 0.2% | [0.2%, 0.3%] | 4 |
63+
| Regressions ❌ <br /> (secondary) | - | - | 0 |
64+
| Improvements ✅ <br /> (primary) | - | - | 0 |
65+
| Improvements ✅ <br /> (secondary) | - | - | 0 |
66+
| All ❌✅ (primary) | 0.2% | [0.2%, 0.3%] | 4 |
67+
68+
Looks like a minimal regression (maybe spurious/bimodality) and the change is
69+
clearly needed. Marking as triaged.
70+
71+
Generalize `{Rc,Arc}::make_mut()` to unsized types. [#116113](https://github.com/rust-lang/rust/pull/116113) [(Comparison Link)](https://perf.rust-lang.org/compare.html?start=ac47dbad504b892bc0f3be8fa097537c6e0544a3&end=f944afe3807104803976484e7ee3aff49b6ac070&stat=instructions:u)
72+
73+
| (instructions:u) | mean | range | count |
74+
|:----------------------------------:|:----:|:------------:|:-----:|
75+
| Regressions ❌ <br /> (primary) | 0.8% | [0.3%, 2.2%] | 13 |
76+
| Regressions ❌ <br /> (secondary) | 0.9% | [0.9%, 0.9%] | 1 |
77+
| Improvements ✅ <br /> (primary) | - | - | 0 |
78+
| Improvements ✅ <br /> (secondary) | - | - | 0 |
79+
| All ❌✅ (primary) | 0.8% | [0.3%, 2.2%] | 13 |
80+
81+
Regressions are mostly in doc benchmarks, seem likely to be just new docs due
82+
to extra stuff in the standard library.
83+
84+
#### Improvements
85+
86+
Migrate `extern-flag-fun`, `incremental-debugger-visualiser` and `incremental-session-fail` `run-make` tests to `rmake.rs` [#126490](https://github.com/rust-lang/rust/pull/126490) [(Comparison Link)](https://perf.rust-lang.org/compare.html?start=c2932aaf9d20acbc9259c762f1a06f8767c6f13f&end=67cfc3a558a54e351d14120099bf3158812b4130&stat=instructions:u)
87+
88+
| (instructions:u) | mean | range | count |
89+
|:----------------------------------:|:-----:|:--------------:|:-----:|
90+
| Regressions ❌ <br /> (primary) | - | - | 0 |
91+
| Regressions ❌ <br /> (secondary) | - | - | 0 |
92+
| Improvements ✅ <br /> (primary) | -0.3% | [-0.4%, -0.3%] | 6 |
93+
| Improvements ✅ <br /> (secondary) | - | - | 0 |
94+
| All ❌✅ (primary) | -0.3% | [-0.4%, -0.3%] | 6 |
95+
96+
97+
Rework `feature(precise_capturing)` to represent `use<...>` as a syntactical bound [#126049](https://github.com/rust-lang/rust/pull/126049) [(Comparison Link)](https://perf.rust-lang.org/compare.html?start=f873ae029e3ee2bbb8bc70a7ef3f1a06c22b0eac&end=c1f62a7c35349438ea9728abbe1bcf1cebd426b7&stat=instructions:u)
98+
99+
| (instructions:u) | mean | range | count |
100+
|:----------------------------------:|:-----:|:--------------:|:-----:|
101+
| Regressions ❌ <br /> (primary) | - | - | 0 |
102+
| Regressions ❌ <br /> (secondary) | - | - | 0 |
103+
| Improvements ✅ <br /> (primary) | -0.2% | [-0.2%, -0.2%] | 7 |
104+
| Improvements ✅ <br /> (secondary) | -0.4% | [-0.6%, -0.2%] | 12 |
105+
| All ❌✅ (primary) | -0.2% | [-0.2%, -0.2%] | 7 |
106+
107+
108+
Fix duplicated attributes on nonterminal expressions [#126678](https://github.com/rust-lang/rust/pull/126678) [(Comparison Link)](https://perf.rust-lang.org/compare.html?start=3186d17d56f9803b739a2c0aabd23aafd8791485&end=894f7a4ba6554d3797404bbf550d9919df060b97&stat=instructions:u)
109+
110+
| (instructions:u) | mean | range | count |
111+
|:----------------------------------:|:-----:|:--------------:|:-----:|
112+
| Regressions ❌ <br /> (primary) | - | - | 0 |
113+
| Regressions ❌ <br /> (secondary) | - | - | 0 |
114+
| Improvements ✅ <br /> (primary) | -0.4% | [-0.5%, -0.2%] | 7 |
115+
| Improvements ✅ <br /> (secondary) | -0.7% | [-0.7%, -0.6%] | 3 |
116+
| All ❌✅ (primary) | -0.4% | [-0.5%, -0.2%] | 7 |
117+
118+
119+
Trying to address an incremental compilation issues [#126409](https://github.com/rust-lang/rust/pull/126409) [(Comparison Link)](https://perf.rust-lang.org/compare.html?start=1208eddaff59c98e37574c860de6f68aa404958f&end=1d96de2a20e963abb8923dfa3c6175517dfb9d2c&stat=instructions:u)
120+
121+
| (instructions:u) | mean | range | count |
122+
|:----------------------------------:|:-----:|:--------------:|:-----:|
123+
| Regressions ❌ <br /> (primary) | - | - | 0 |
124+
| Regressions ❌ <br /> (secondary) | - | - | 0 |
125+
| Improvements ✅ <br /> (primary) | -0.3% | [-0.4%, -0.2%] | 21 |
126+
| Improvements ✅ <br /> (secondary) | -0.3% | [-0.3%, -0.2%] | 15 |
127+
| All ❌✅ (primary) | -0.3% | [-0.4%, -0.2%] | 21 |
128+
129+
130+
Rollup of 3 pull requests [#126838](https://github.com/rust-lang/rust/pull/126838) [(Comparison Link)](https://perf.rust-lang.org/compare.html?start=f944afe3807104803976484e7ee3aff49b6ac070&end=a0f01c3c1067aecb3d1ad88621bb4d63d0a2d289&stat=instructions:u)
131+
132+
| (instructions:u) | mean | range | count |
133+
|:----------------------------------:|:-----:|:--------------:|:-----:|
134+
| Regressions ❌ <br /> (primary) | - | - | 0 |
135+
| Regressions ❌ <br /> (secondary) | - | - | 0 |
136+
| Improvements ✅ <br /> (primary) | -0.4% | [-0.9%, -0.2%] | 50 |
137+
| Improvements ✅ <br /> (secondary) | -0.4% | [-0.9%, -0.2%] | 19 |
138+
| All ❌✅ (primary) | -0.4% | [-0.9%, -0.2%] | 50 |
139+
140+
141+
#### Mixed
142+
143+
[perf] More span update benchmarking [#126591](https://github.com/rust-lang/rust/pull/126591) [(Comparison Link)](https://perf.rust-lang.org/compare.html?start=67cfc3a558a54e351d14120099bf3158812b4130&end=737e42308c6e957575692965d73b17937f936f28&stat=instructions:u)
144+
145+
| (instructions:u) | mean | range | count |
146+
|:----------------------------------:|:-----:|:--------------:|:-----:|
147+
| Regressions ❌ <br /> (primary) | 0.3% | [0.3%, 0.4%] | 5 |
148+
| Regressions ❌ <br /> (secondary) | 2.3% | [1.4%, 3.6%] | 6 |
149+
| Improvements ✅ <br /> (primary) | -0.3% | [-0.3%, -0.3%] | 1 |
150+
| Improvements ✅ <br /> (secondary) | -0.3% | [-0.4%, -0.2%] | 14 |
151+
| All ❌✅ (primary) | 0.2% | [-0.3%, 0.4%] | 6 |
152+
153+
Triaged to be mostly just inlining noise:
154+
https://github.com/rust-lang/rust/pull/126591#issuecomment-2175875210
155+
156+
Account for things that optimize out in inlining costs [#126578](https://github.com/rust-lang/rust/pull/126578) [(Comparison Link)](https://perf.rust-lang.org/compare.html?start=a9c8887c7d548abc6c3e87f7d6fa02a0e95880bd&end=7a08f84627ff3035de4d66ff3209e5fc93165dcb&stat=instructions:u)
157+
158+
| (instructions:u) | mean | range | count |
159+
|:----------------------------------:|:-----:|:--------------:|:-----:|
160+
| Regressions ❌ <br /> (primary) | 1.4% | [0.4%, 2.0%] | 6 |
161+
| Regressions ❌ <br /> (secondary) | 1.4% | [0.3%, 4.1%] | 16 |
162+
| Improvements ✅ <br /> (primary) | -0.6% | [-1.5%, -0.2%] | 183 |
163+
| Improvements ✅ <br /> (secondary) | -0.9% | [-4.6%, -0.2%] | 121 |
164+
| All ❌✅ (primary) | -0.5% | [-1.5%, 2.0%] | 189 |
165+
166+
Mostly an improvement for the majority of benchmarks, including some slight runtime improvements.
167+
168+
More ptr metadata gvn [#126541](https://github.com/rust-lang/rust/pull/126541) [(Comparison Link)](https://perf.rust-lang.org/compare.html?start=4e6de37349c7838df095b085a2640cb6a007c96a&end=e32ea4822ba3f7c9054a7fb5345232388cc50c4b&stat=instructions:u)
169+
170+
| (instructions:u) | mean | range | count |
171+
|:----------------------------------:|:-----:|:--------------:|:-----:|
172+
| Regressions ❌ <br /> (primary) | 0.2% | [0.2%, 0.2%] | 1 |
173+
| Regressions ❌ <br /> (secondary) | - | - | 0 |
174+
| Improvements ✅ <br /> (primary) | -1.0% | [-1.4%, -0.6%] | 2 |
175+
| Improvements ✅ <br /> (secondary) | - | - | 0 |
176+
| All ❌✅ (primary) | -0.6% | [-1.4%, 0.2%] | 3 |
177+
178+
Slight improvements on `full` builds, slight regression in incremental for
179+
cargo. In general fairly neutral, only a few benchmarks affected.

0 commit comments

Comments
 (0)