Skip to content

Commit 453e57b

Browse files
authored
Merge pull request #1867 from Kobzol/triage-2024-03-19
Triage 2024 03 19
2 parents 5b45b37 + b37ba97 commit 453e57b

File tree

1 file changed

+188
-0
lines changed

1 file changed

+188
-0
lines changed

triage/2024-03-19.md

Lines changed: 188 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,188 @@
1+
# 2024-03-19 Triage Log
2+
3+
Even though the summary might not look like it, this was actually a relatively quiet week,
4+
with a few small regressions. The large regression that is also shown in the summary table was
5+
caused by extending the verification of incremental compilation results.
6+
However, this verification is not actually fully enabled by default, so these regressions are mostly
7+
only visible in our benchmarking suite, which enables the verification to achieve more deterministic
8+
benchmarking results. One small regression was also caused by enabling frame pointers for the Rust
9+
standard library, which should improve profiling of Rust programs.
10+
11+
Triage done by **@kobzol**.
12+
Revision
13+
range: [e919669d..21d94a3d](https://perf.rust-lang.org/?start=e919669d42dfb8950866d4cb268c5359eb3f7c54&end=21d94a3d2c63cacf8eaf9d0ca770c0b450c558d4&absolute=false&stat=instructions%3Au)
14+
15+
**Summary**:
16+
17+
| (instructions:u) | mean | range | count |
18+
|:---------------------------------:|:-----:|:--------------:|:-----:|
19+
| Regressions ❌ <br /> (primary) | 2.5% | [0.4%, 7.8%] | 207 |
20+
| Regressions ❌ <br /> (secondary) | 2.9% | [0.2%, 8.3%] | 128 |
21+
| Improvements ✅ <br /> (primary) | - | - | 0 |
22+
| Improvements ✅ <br /> (secondary) | -1.0% | [-1.3%, -0.4%] | 4 |
23+
| All ❌✅ (primary) | 2.5% | [0.4%, 7.8%] | 207 |
24+
25+
4 Regressions, 1 Improvements, 6 Mixed; 4 of them in rollups
26+
67 artifact comparisons made in total
27+
28+
#### Regressions
29+
30+
Make `DefiningAnchor::Bind` only store the opaque types that may be constrained, instead of the
31+
current infcx root
32+
item. [#121796](https://github.com/rust-lang/rust/pull/121796) [(Comparison Link)](https://perf.rust-lang.org/compare.html?start=6554a5645a13e4d9331fd028960d69be91d7492d&end=4ccbb7dc95596c7fc0c5756fdc47a17a56c085d3&stat=instructions:u)
33+
34+
| (instructions:u) | mean | range | count |
35+
|:---------------------------------:|:----:|:------------:|:-----:|
36+
| Regressions ❌ <br /> (primary) | 0.6% | [0.2%, 1.8%] | 112 |
37+
| Regressions ❌ <br /> (secondary) | 0.7% | [0.2%, 1.8%] | 27 |
38+
| Improvements ✅ <br /> (primary) | - | - | 0 |
39+
| Improvements ✅ <br /> (secondary) | - | - | 0 |
40+
| All ❌✅ (primary) | 0.6% | [0.2%, 1.8%] | 112 |
41+
42+
* This is a refactoring of the "old" trait solver that was necessary for follow-up compiler changes.
43+
44+
Rollup of 12 pull
45+
requests [#122389](https://github.com/rust-lang/rust/pull/122389) [(Comparison Link)](https://perf.rust-lang.org/compare.html?start=7de1a1f6db26cf7af43cca74819118428e6317ee&end=6b1e5d9db3b0d569bd847fdcb98c85ee8f7a8ef1&stat=instructions:u)
46+
47+
| (instructions:u) | mean | range | count |
48+
|:---------------------------------:|:----:|:------------:|:-----:|
49+
| Regressions ❌ <br /> (primary) | 0.7% | [0.7%, 0.7%] | 3 |
50+
| Regressions ❌ <br /> (secondary) | 1.1% | [0.5%, 2.1%] | 3 |
51+
| Improvements ✅ <br /> (primary) | - | - | 0 |
52+
| Improvements ✅ <br /> (secondary) | - | - | 0 |
53+
| All ❌✅ (primary) | 0.7% | [0.7%, 0.7%] | 3 |
54+
55+
* Noise, marked as triaged.
56+
57+
Verify that query keys result in unique dep
58+
nodes [#122227](https://github.com/rust-lang/rust/pull/122227) [(Comparison Link)](https://perf.rust-lang.org/compare.html?start=e61dcc7a0ac33ef054d76453307124233edcf545&end=d3555f3d8e555ce488bbf8eee5eccdb66a464e14&stat=instructions:u)
59+
60+
| (instructions:u) | mean | range | count |
61+
|:---------------------------------:|:-----:|:--------------:|:-----:|
62+
| Regressions ❌ <br /> (primary) | 2.0% | [0.2%, 7.8%] | 193 |
63+
| Regressions ❌ <br /> (secondary) | 2.4% | [0.3%, 7.8%] | 153 |
64+
| Improvements ✅ <br /> (primary) | - | - | 0 |
65+
| Improvements ✅ <br /> (secondary) | -1.3% | [-1.3%, -1.3%] | 1 |
66+
| All ❌✅ (primary) | 2.0% | [0.2%, 7.8%] | 193 |
67+
68+
* This PR adds additional verification to the compiler that checks if incremental compilation didn't
69+
encounter problems.
70+
* This result looks quite bad, but that is mostly caused by the configuration of our benchmark
71+
suite, which fully enables this verification to make benchmarking more deterministic.
72+
* Normal builds of user code should not be affected by this change.
73+
74+
Enable frame pointers for the standard
75+
library [#122646](https://github.com/rust-lang/rust/pull/122646) [(Comparison Link)](https://perf.rust-lang.org/compare.html?start=13abc0ac9b2b77299cf02d634fc409e26a180ef3&end=3cdcdaf31b45f8045164aae9604573d23091970b&stat=instructions:u)
76+
77+
| (instructions:u) | mean | range | count |
78+
|:---------------------------------:|:-----:|:--------------:|:-----:|
79+
| Regressions ❌ <br /> (primary) | 0.3% | [0.2%, 0.6%] | 70 |
80+
| Regressions ❌ <br /> (secondary) | 0.3% | [0.2%, 0.5%] | 22 |
81+
| Improvements ✅ <br /> (primary) | - | - | 0 |
82+
| Improvements ✅ <br /> (secondary) | -2.0% | [-2.0%, -2.0%] | 1 |
83+
| All ❌✅ (primary) | 0.3% | [0.2%, 0.6%] | 70 |
84+
85+
* This PR has a small instruction count cost across the board, but cycles and walltime were affected
86+
much less.
87+
* It enables frame pointers for the Rust standard library, which should make profiling of Rust code
88+
more robust and accurate, which should be worth this small perf. hit.
89+
* Marked as triaged.
90+
91+
#### Improvements
92+
93+
Rollup of 15 pull
94+
requests [#122338](https://github.com/rust-lang/rust/pull/122338) [(Comparison Link)](https://perf.rust-lang.org/compare.html?start=65cd843ae06ad00123c131a431ed5304e4cd577a&end=6554a5645a13e4d9331fd028960d69be91d7492d&stat=instructions:u)
95+
96+
| (instructions:u) | mean | range | count |
97+
|:---------------------------------:|:-----:|:--------------:|:-----:|
98+
| Regressions ❌ <br /> (primary) | - | - | 0 |
99+
| Regressions ❌ <br /> (secondary) | - | - | 0 |
100+
| Improvements ✅ <br /> (primary) | -1.2% | [-1.2%, -1.1%] | 4 |
101+
| Improvements ✅ <br /> (secondary) | -0.8% | [-1.2%, -0.4%] | 13 |
102+
| All ❌✅ (primary) | -1.2% | [-1.2%, -1.1%] | 4 |
103+
104+
#### Mixed
105+
106+
Update
107+
cargo [#122394](https://github.com/rust-lang/rust/pull/122394) [(Comparison Link)](https://perf.rust-lang.org/compare.html?start=6b1e5d9db3b0d569bd847fdcb98c85ee8f7a8ef1&end=a165f1f65015b1bd4afd2ec50700aaacf2e0c485&stat=instructions:u)
108+
109+
| (instructions:u) | mean | range | count |
110+
|:---------------------------------:|:-----:|:--------------:|:-----:|
111+
| Regressions ❌ <br /> (primary) | - | - | 0 |
112+
| Regressions ❌ <br /> (secondary) | 1.1% | [1.1%, 1.1%] | 1 |
113+
| Improvements ✅ <br /> (primary) | -0.7% | [-0.7%, -0.7%] | 3 |
114+
| Improvements ✅ <br /> (secondary) | -0.5% | [-0.6%, -0.3%] | 5 |
115+
| All ❌✅ (primary) | -0.7% | [-0.7%, -0.7%] | 3 |
116+
117+
* Most likely noise.
118+
119+
more eagerly instantiate
120+
binders [#119849](https://github.com/rust-lang/rust/pull/119849) [(Comparison Link)](https://perf.rust-lang.org/compare.html?start=30f74ff0dc4d66debc8b50724c446f817e5f75f4&end=fd27e8745f0f04dc7c289893ef54a618c7c9e1da&stat=instructions:u)
121+
122+
| (instructions:u) | mean | range | count |
123+
|:---------------------------------:|:-----:|:--------------:|:-----:|
124+
| Regressions ❌ <br /> (primary) | 0.7% | [0.2%, 1.1%] | 14 |
125+
| Regressions ❌ <br /> (secondary) | 0.5% | [0.4%, 1.0%] | 7 |
126+
| Improvements ✅ <br /> (primary) | - | - | 0 |
127+
| Improvements ✅ <br /> (secondary) | -1.2% | [-1.4%, -1.1%] | 6 |
128+
| All ❌✅ (primary) | 0.7% | [0.2%, 1.1%] | 14 |
129+
130+
* A small regression for trait-heavy crates, caused by a fix to the trait solver.
131+
* Marked as triaged.
132+
133+
Rollup of 9 pull
134+
requests [#122607](https://github.com/rust-lang/rust/pull/122607) [(Comparison Link)](https://perf.rust-lang.org/compare.html?start=4c1b9c3e2f402efe27a24e424c9b59aa2fa5c83f&end=c8813ddd6d2602ae5473752031fd16ba70a6e4a7&stat=instructions:u)
135+
136+
| (instructions:u) | mean | range | count |
137+
|:---------------------------------:|:-----:|:--------------:|:-----:|
138+
| Regressions ❌ <br /> (primary) | 1.7% | [1.7%, 1.7%] | 1 |
139+
| Regressions ❌ <br /> (secondary) | 2.7% | [2.7%, 2.7%] | 1 |
140+
| Improvements ✅ <br /> (primary) | - | - | 0 |
141+
| Improvements ✅ <br /> (secondary) | -5.3% | [-5.3%, -5.3%] | 1 |
142+
| All ❌✅ (primary) | 1.7% | [1.7%, 1.7%] | 1 |
143+
144+
* The largest regression was caused by [#122601](https://github.com/rust-lang/rust/pull/122601),
145+
which should enable more LLVM optimizations, so some regressions to `opt` benchmarks is expected.
146+
* Marked as triaged.
147+
148+
Move generic `NonZero` `rustc_layout_scalar_valid_range_start` attribute to inner
149+
type. [#121885](https://github.com/rust-lang/rust/pull/121885) [(Comparison Link)](https://perf.rust-lang.org/compare.html?start=c8813ddd6d2602ae5473752031fd16ba70a6e4a7&end=a615cea3339046c7ab2d75cd253727d1fd42dd0b&stat=instructions:u)
150+
151+
| (instructions:u) | mean | range | count |
152+
|:---------------------------------:|:-----:|:--------------:|:-----:|
153+
| Regressions ❌ <br /> (primary) | 0.4% | [0.3%, 0.6%] | 9 |
154+
| Regressions ❌ <br /> (secondary) | 0.2% | [0.2%, 0.2%] | 1 |
155+
| Improvements ✅ <br /> (primary) | - | - | 0 |
156+
| Improvements ✅ <br /> (secondary) | -2.8% | [-2.8%, -2.8%] | 1 |
157+
| All ❌✅ (primary) | 0.4% | [0.3%, 0.6%] | 9 |
158+
159+
* A small regression caused by internal refactoring in the compiler. Marked as triaged.
160+
161+
Rollup of 8 pull
162+
requests [#122690](https://github.com/rust-lang/rust/pull/122690) [(Comparison Link)](https://perf.rust-lang.org/compare.html?start=3cdcdaf31b45f8045164aae9604573d23091970b&end=d31b6fb8c06b43536ac5be38462d2a55784e2199&stat=instructions:u)
163+
164+
| (instructions:u) | mean | range | count |
165+
|:---------------------------------:|:-----:|:--------------:|:-----:|
166+
| Regressions ❌ <br /> (primary) | - | - | 0 |
167+
| Regressions ❌ <br /> (secondary) | 2.7% | [0.2%, 5.3%] | 2 |
168+
| Improvements ✅ <br /> (primary) | -0.2% | [-0.3%, -0.2%] | 7 |
169+
| Improvements ✅ <br /> (secondary) | -0.4% | [-0.5%, -0.3%] | 9 |
170+
| All ❌✅ (primary) | -0.2% | [-0.3%, -0.2%] | 7 |
171+
172+
* Most likely noise, marked as triaged.
173+
174+
Rollup of 11 pull
175+
requests [#122713](https://github.com/rust-lang/rust/pull/122713) [(Comparison Link)](https://perf.rust-lang.org/compare.html?start=d31b6fb8c06b43536ac5be38462d2a55784e2199&end=3c85e56249b0b1942339a6a989a971bf6f1c9e0f&stat=instructions:u)
176+
177+
| (instructions:u) | mean | range | count |
178+
|:---------------------------------:|:-----:|:--------------:|:-----:|
179+
| Regressions ❌ <br /> (primary) | 1.0% | [0.5%, 1.4%] | 3 |
180+
| Regressions ❌ <br /> (secondary) | - | - | 0 |
181+
| Improvements ✅ <br /> (primary) | - | - | 0 |
182+
| Improvements ✅ <br /> (secondary) | -0.5% | [-0.9%, -0.4%] | 7 |
183+
| All ❌✅ (primary) | 1.0% | [0.5%, 1.4%] | 3 |
184+
185+
* Small regression in match checking caused
186+
by [#121823](https://github.com/rust-lang/rust/pull/121823),
187+
which improves compiler diagnostics.
188+
* Marked as triaged.

0 commit comments

Comments
 (0)