Skip to content

Commit e7cc189

Browse files
authored
Merge pull request #1883 from rylev/perf-triage-03-26
Add perf triage for 2024-03-26
2 parents b990542 + a71e92e commit e7cc189

File tree

1 file changed

+165
-0
lines changed

1 file changed

+165
-0
lines changed

triage/2024-03-26.md

Lines changed: 165 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,165 @@
1+
# 2024-03-26 Triage Log
2+
3+
An overall fairly quiet week with the unfortunate one exception of large instruction count and binary size regressions caused by changes in const evaluation. This was largely balanced out (at least in instruction count) by a group of small improvements, but the compiler did end up 0.2% slower on average across 97 benchmarks.
4+
5+
Triage done by **@rylev**.
6+
Revision range: [21d94a3..73476d](https://perf.rust-lang.org/?start=21d94a3d2c63cacf8eaf9d0ca770c0b450c558d4&end=73476d49904751f8d90ce904e16dfbc278083d2c&absolute=false&stat=instructions%3Au)
7+
8+
**Summary**:
9+
10+
| (instructions:u) | mean | range | count |
11+
|:----------------------------------:|:-----:|:--------------:|:-----:|
12+
| Regressions ❌ <br /> (primary) | 1.0% | [0.2%, 3.2%] | 56 |
13+
| Regressions ❌ <br /> (secondary) | 0.6% | [0.1%, 1.9%] | 38 |
14+
| Improvements ✅ <br /> (primary) | -0.8% | [-1.5%, -0.2%] | 41 |
15+
| Improvements ✅ <br /> (secondary) | -1.2% | [-5.2%, -0.4%] | 13 |
16+
| All ❌✅ (primary) | 0.2% | [-1.5%, 3.2%] | 97 |
17+
18+
19+
4 Regressions, 6 Improvements, 2 Mixed; 4 of them in rollups
20+
63 artifact comparisons made in total
21+
22+
#### Regressions
23+
24+
recursively evaluate the constants in everything that is 'mentioned' [#122568](https://github.com/rust-lang/rust/pull/122568) [(Comparison Link)](https://perf.rust-lang.org/compare.html?start=47dd709bedda8127e8daec33327e0a9d0cdae845&end=df8ac8f1d74cffb96a93ae702d16e224f5b9ee8c&stat=instructions:u)
25+
26+
| (instructions:u) | mean | range | count |
27+
|:----------------------------------:|:----:|:------------:|:-----:|
28+
| Regressions ❌ <br /> (primary) | 1.0% | [0.3%, 2.2%] | 67 |
29+
| Regressions ❌ <br /> (secondary) | 0.8% | [0.2%, 2.9%] | 24 |
30+
| Improvements ✅ <br /> (primary) | - | - | 0 |
31+
| Improvements ✅ <br /> (secondary) | - | - | 0 |
32+
| All ❌✅ (primary) | 1.0% | [0.3%, 2.2%] | 67 |
33+
- An unfortunately large regression in instruction count that has to happen for correctness reasons.
34+
- Additional regressions in binary size and an issue has been opened for it: #122936
35+
36+
37+
Rollup of 8 pull requests [#122900](https://github.com/rust-lang/rust/pull/122900) [(Comparison Link)](https://perf.rust-lang.org/compare.html?start=85e449a3237e82c9ade8936a82bd4fc64cfe1057&end=0ad5e0d2deb8ac4b079923f3cc5a3a1c63efe4c8&stat=instructions:u)
38+
39+
| (instructions:u) | mean | range | count |
40+
|:----------------------------------:|:----:|:------------:|:-----:|
41+
| Regressions ❌ <br /> (primary) | - | - | 0 |
42+
| Regressions ❌ <br /> (secondary) | 0.5% | [0.4%, 0.6%] | 11 |
43+
| Improvements ✅ <br /> (primary) | - | - | 0 |
44+
| Improvements ✅ <br /> (secondary) | - | - | 0 |
45+
| All ❌✅ (primary) | - | - | 0 |
46+
- Seems that [#122784](https://github.com/rust-lang/rust/pull/122784) is the cause. Author and reviewer were pinged.
47+
48+
49+
Replace visibility test with reachability test in dead code detection [#119552](https://github.com/rust-lang/rust/pull/119552) [(Comparison Link)](https://perf.rust-lang.org/compare.html?start=0ad5e0d2deb8ac4b079923f3cc5a3a1c63efe4c8&end=c3087265993c74057fdbab07b44b80a55045070b&stat=instructions:u)
50+
51+
| (instructions:u) | mean | range | count |
52+
|:----------------------------------:|:----:|:------------:|:-----:|
53+
| Regressions ❌ <br /> (primary) | 2.1% | [1.0%, 3.2%] | 4 |
54+
| Regressions ❌ <br /> (secondary) | - | - | 0 |
55+
| Improvements ✅ <br /> (primary) | - | - | 0 |
56+
| Improvements ✅ <br /> (secondary) | - | - | 0 |
57+
| All ❌✅ (primary) | 2.1% | [1.0%, 3.2%] | 4 |
58+
- More warnings are now emitted from ripgrep so this is to be expected
59+
60+
61+
Rollup of 9 pull requests [#122966](https://github.com/rust-lang/rust/pull/122966) [(Comparison Link)](https://perf.rust-lang.org/compare.html?start=9b8d12cf4c2311203aea83315552b15993bd4f81&end=548e14b43963882fb758deb89e8258d9b8c2fc2a&stat=instructions:u)
62+
63+
| (instructions:u) | mean | range | count |
64+
|:----------------------------------:|:----:|:------------:|:-----:|
65+
| Regressions ❌ <br /> (primary) | 0.3% | [0.3%, 0.3%] | 1 |
66+
| Regressions ❌ <br /> (secondary) | 0.3% | [0.2%, 0.4%] | 6 |
67+
| Improvements ✅ <br /> (primary) | - | - | 0 |
68+
| Improvements ✅ <br /> (secondary) | - | - | 0 |
69+
| All ❌✅ (primary) | 0.3% | [0.3%, 0.3%] | 1 |
70+
- The regressions are probably too small here for us to need to dig much deeper.
71+
72+
73+
#### Improvements
74+
75+
clean up `Sized` checking [#122493](https://github.com/rust-lang/rust/pull/122493) [(Comparison Link)](https://perf.rust-lang.org/compare.html?start=148a41c6b5687f941c5256d9ef8145eb03b72094&end=196ff446d20088406b9d69978dddccc4682bd006&stat=instructions:u)
76+
77+
| (instructions:u) | mean | range | count |
78+
|:----------------------------------:|:-----:|:--------------:|:-----:|
79+
| Regressions ❌ <br /> (primary) | - | - | 0 |
80+
| Regressions ❌ <br /> (secondary) | - | - | 0 |
81+
| Improvements ✅ <br /> (primary) | -0.4% | [-0.6%, -0.3%] | 2 |
82+
| Improvements ✅ <br /> (secondary) | -0.7% | [-3.2%, -0.3%] | 11 |
83+
| All ❌✅ (primary) | -0.4% | [-0.6%, -0.3%] | 2 |
84+
85+
86+
Move more intrinsics to rustc_intrinsic [#122037](https://github.com/rust-lang/rust/pull/122037) [(Comparison Link)](https://perf.rust-lang.org/compare.html?start=f296c162d8c6f84bcfee99c152d4fd63aaef3e38&end=200e3f7995e231535fdea3be9cb9a3f098b4c856&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.3%, -0.2%] | 4 |
93+
| Improvements ✅ <br /> (secondary) | - | - | 0 |
94+
| All ❌✅ (primary) | -0.3% | [-0.3%, -0.2%] | 4 |
95+
96+
97+
Update cargo [#122753](https://github.com/rust-lang/rust/pull/122753) [(Comparison Link)](https://perf.rust-lang.org/compare.html?start=bd459c2877fe909ea57952ea2543b727e321f183&end=a77c20c4b987e74eb1a867d21d1edb8035a11660&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.8% | [-0.9%, -0.5%] | 5 |
104+
| Improvements ✅ <br /> (secondary) | -0.6% | [-0.8%, -0.4%] | 8 |
105+
| All ❌✅ (primary) | -0.8% | [-0.9%, -0.5%] | 5 |
106+
107+
108+
select Vec::from_iter impls in a const block to optimize compile times [#122785](https://github.com/rust-lang/rust/pull/122785) [(Comparison Link)](https://perf.rust-lang.org/compare.html?start=a0569fa8f91b5271e92d2f73fd252de7d3d05b9c&end=0ad927c0c07b65fc0dae37105e09c877c87c296a&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.6% | [-1.5%, -0.3%] | 10 |
115+
| Improvements ✅ <br /> (secondary) | - | - | 0 |
116+
| All ❌✅ (primary) | -0.6% | [-1.5%, -0.3%] | 10 |
117+
118+
119+
Replace `mir_built` query with a hook and use mir_const everywhere instead [#122721](https://github.com/rust-lang/rust/pull/122721) [(Comparison Link)](https://perf.rust-lang.org/compare.html?start=0824b300eb0dae5d9ed59719d3f2732016683d66&end=13dac8fb731945ebc116cc65f23a260930e774e0&stat=instructions:u)
120+
121+
| (instructions:u) | mean | range | count |
122+
|:----------------------------------:|:-----:|:--------------:|:-----:|
123+
| Regressions ❌ <br /> (primary) | 0.5% | [0.5%, 0.5%] | 1 |
124+
| Regressions ❌ <br /> (secondary) | - | - | 0 |
125+
| Improvements ✅ <br /> (primary) | -0.4% | [-0.9%, -0.2%] | 17 |
126+
| Improvements ✅ <br /> (secondary) | -0.5% | [-0.8%, -0.2%] | 11 |
127+
| All ❌✅ (primary) | -0.3% | [-0.9%, 0.5%] | 18 |
128+
129+
130+
Don't emit load metadata in debug mode [#122849](https://github.com/rust-lang/rust/pull/122849) [(Comparison Link)](https://perf.rust-lang.org/compare.html?start=8b9e47c136aeee998effdcae356e134b8de65891&end=73476d49904751f8d90ce904e16dfbc278083d2c&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.7% | [-1.1%, -0.4%] | 13 |
137+
| Improvements ✅ <br /> (secondary) | - | - | 0 |
138+
| All ❌✅ (primary) | -0.7% | [-1.1%, -0.4%] | 13 |
139+
140+
141+
#### Mixed
142+
143+
Rollup of 10 pull requests [#122735](https://github.com/rust-lang/rust/pull/122735) [(Comparison Link)](https://perf.rust-lang.org/compare.html?start=a385e5667c11098a01368c06e7c0c9236cd477cc&end=e760daa6a729b3d52a38804e9766f7d89dc27357&stat=instructions:u)
144+
145+
| (instructions:u) | mean | range | count |
146+
|:----------------------------------:|:-----:|:--------------:|:-----:|
147+
| Regressions ❌ <br /> (primary) | - | - | 0 |
148+
| Regressions ❌ <br /> (secondary) | 0.3% | [0.1%, 0.6%] | 5 |
149+
| Improvements ✅ <br /> (primary) | -0.7% | [-0.8%, -0.3%] | 11 |
150+
| Improvements ✅ <br /> (secondary) | -0.3% | [-0.3%, -0.3%] | 1 |
151+
| All ❌✅ (primary) | -0.7% | [-0.8%, -0.3%] | 11 |
152+
- The improvements outweigh the regressions so there's not a huge incentive to investigate further.
153+
154+
155+
Rollup of 8 pull requests [#122830](https://github.com/rust-lang/rust/pull/122830) [(Comparison Link)](https://perf.rust-lang.org/compare.html?start=7d01878bd0d1c4383c1158adeff0c392446ea3a2&end=a0569fa8f91b5271e92d2f73fd252de7d3d05b9c&stat=instructions:u)
156+
157+
| (instructions:u) | mean | range | count |
158+
|:----------------------------------:|:-----:|:--------------:|:-----:|
159+
| Regressions ❌ <br /> (primary) | - | - | 0 |
160+
| Regressions ❌ <br /> (secondary) | 0.1% | [0.1%, 0.1%] | 2 |
161+
| Improvements ✅ <br /> (primary) | -0.3% | [-0.4%, -0.2%] | 2 |
162+
| Improvements ✅ <br /> (secondary) | -1.2% | [-1.7%, -0.8%] | 8 |
163+
| All ❌✅ (primary) | -0.3% | [-0.4%, -0.2%] | 2 |
164+
- With only small regressions on stress tests, I think it's fine if we don't investigate this too deeply.
165+

0 commit comments

Comments
 (0)