Skip to content

Commit 15c25c6

Browse files
Add triage for this week
1 parent 9a84c57 commit 15c25c6

File tree

1 file changed

+148
-0
lines changed

1 file changed

+148
-0
lines changed

triage/2023-02-21.md

Lines changed: 148 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,148 @@
1+
# 2023-02-21 Triage Log
2+
3+
Overall a fairly positive week, with few noise-related regressions or
4+
improvements and many benchmarks showing significant improvements. The one
5+
large regression is limited to documentation builds and has at least a partial
6+
fix already planned.
7+
8+
Other wins this week include an average [improvement][memopt] of around 1% in
9+
maximum memory usage of optimized builds, and a 2% average [reduction][sizeopt]
10+
in compiled binary sizes. These are fairly significant wins for these metrics.
11+
12+
[memopt]: https://perf.rust-lang.org/?start=9bb6e60d1f1360234aae90c97964c0fa5524f141&end=3fee48c161a48b0c142d3998fff56faee96bd56c&absolute=false&stat=max-rss&kind=percentfromfirst
13+
[sizeopt]: https://perf.rust-lang.org/?start=9bb6e60d1f1360234aae90c97964c0fa5524f141&end=3fee48c161a48b0c142d3998fff56faee96bd56c&absolute=false&stat=size%3Alinked_artifact&kind=percentfromfirst
14+
15+
Triage done by **@simulacrum**.
16+
Revision range: [9bb6e60..3fee48c1](https://perf.rust-lang.org/?start=9bb6e60d1f1360234aae90c97964c0fa5524f141&end=3fee48c161a48b0c142d3998fff56faee96bd56c&absolute=false&stat=instructions%3Au)
17+
18+
**Summary**:
19+
20+
| (instructions:u) | mean | range | count |
21+
|:----------------------------------:|:-----:|:--------------:|:-----:|
22+
| Regressions ❌ <br /> (primary) | 9.0% | [0.3%, 79.8%] | 10 |
23+
| Regressions ❌ <br /> (secondary) | 0.9% | [0.4%, 2.1%] | 14 |
24+
| Improvements ✅ <br /> (primary) | -1.7% | [-5.0%, -0.2%] | 128 |
25+
| Improvements ✅ <br /> (secondary) | -1.6% | [-5.2%, -0.2%] | 61 |
26+
| All ❌✅ (primary) | -0.9% | [-5.0%, 79.8%] | 138 |
27+
28+
29+
3 Regressions, 3 Improvements, 3 Mixed; 2 of them in rollups
30+
45 artifact comparisons made in total
31+
32+
#### Regressions
33+
34+
Rollup of 10 pull requests [#108052](https://github.com/rust-lang/rust/pull/108052) [(Comparison Link)](https://perf.rust-lang.org/compare.html?start=9bb6e60d1f1360234aae90c97964c0fa5524f141&end=6e0115778b0aedc90b59e035476c38e1b8c5c29b&stat=instructions:u)
35+
36+
| (instructions:u) | mean | range | count |
37+
|:----------------------------------:|:----:|:-------------:|:-----:|
38+
| Regressions ❌ <br /> (primary) | 9.5% | [0.3%, 80.7%] | 10 |
39+
| Regressions ❌ <br /> (secondary) | 2.7% | [2.7%, 2.7%] | 1 |
40+
| Improvements ✅ <br /> (primary) | - | - | 0 |
41+
| Improvements ✅ <br /> (secondary) | - | - | 0 |
42+
| All ❌✅ (primary) | 9.5% | [0.3%, 80.7%] | 10 |
43+
44+
This regression is limited to doc builds and is likely caused by the tooltip
45+
expansion in "rustdoc: add more tooltips to intra-doc links
46+
[#108025](https://github.com/rust-lang/rust/pull/108025)". An initial reduction
47+
in overhead is proposed in
48+
[#108098](https://github.com/rust-lang/rust/pull/108098).
49+
50+
use semantic equality for const param type equality assertion [#107940](https://github.com/rust-lang/rust/pull/107940) [(Comparison Link)](https://perf.rust-lang.org/compare.html?start=0416b1a6f6d5c42696494e1a3a33580fd3f669d8&end=068161ea483b1a80a959476cb3e31e6619a72737&stat=instructions:u)
51+
52+
| (instructions:u) | mean | range | count |
53+
|:----------------------------------:|:----:|:------------:|:-----:|
54+
| Regressions ❌ <br /> (primary) | 0.3% | [0.2%, 0.5%] | 5 |
55+
| Regressions ❌ <br /> (secondary) | - | - | 0 |
56+
| Improvements ✅ <br /> (primary) | - | - | 0 |
57+
| Improvements ✅ <br /> (secondary) | - | - | 0 |
58+
| All ❌✅ (primary) | 0.3% | [0.2%, 0.5%] | 5 |
59+
60+
Relatively small significance threshold in a single benchmark -- likely a real
61+
regression, but not worth intense scrutiny.
62+
63+
give the resolver access to TyCtxt [#105462](https://github.com/rust-lang/rust/pull/105462) [(Comparison Link)](https://perf.rust-lang.org/compare.html?start=8f55d6025fec5fb648948fbe4fb6dcb4184c67bc&end=2deff71719a32af76eb4493ddb1dc4653fb88cad&stat=instructions:u)
64+
65+
| (instructions:u) | mean | range | count |
66+
|:----------------------------------:|:----:|:------------:|:-----:|
67+
| Regressions ❌ <br /> (primary) | 0.4% | [0.2%, 1.4%] | 94 |
68+
| Regressions ❌ <br /> (secondary) | 0.6% | [0.2%, 2.6%] | 25 |
69+
| Improvements ✅ <br /> (primary) | - | - | 0 |
70+
| Improvements ✅ <br /> (secondary) | - | - | 0 |
71+
| All ❌✅ (primary) | 0.4% | [0.2%, 1.4%] | 94 |
72+
73+
Regressions are being pursued in follow-up PRs, this architectural change
74+
benefits incremental compilation and in general is on the right path even if in
75+
the short term we are seeing some regressions due to increased locking.
76+
77+
#### Improvements
78+
79+
Avoid accessing HIR when it can be avoided [#108006](https://github.com/rust-lang/rust/pull/108006) [(Comparison Link)](https://perf.rust-lang.org/compare.html?start=999ac5f7770bff68bd65f490990d32c3ec1faaa6&end=2d14db321b043ffc579a7461464c88d7e3f54f83&stat=instructions:u)
80+
81+
| (instructions:u) | mean | range | count |
82+
|:----------------------------------:|:-----:|:--------------:|:-----:|
83+
| Regressions ❌ <br /> (primary) | - | - | 0 |
84+
| Regressions ❌ <br /> (secondary) | - | - | 0 |
85+
| Improvements ✅ <br /> (primary) | -0.4% | [-0.4%, -0.4%] | 3 |
86+
| Improvements ✅ <br /> (secondary) | -0.2% | [-0.2%, -0.2%] | 1 |
87+
| All ❌✅ (primary) | -0.4% | [-0.4%, -0.4%] | 3 |
88+
89+
90+
Rollup of 6 pull requests [#108211](https://github.com/rust-lang/rust/pull/108211) [(Comparison Link)](https://perf.rust-lang.org/compare.html?start=3701bdc6333145410f009c83bd03f424eca05009&end=3eb5c4581a386b13c414e8c8bd73846ef37236d1&stat=instructions:u)
91+
92+
| (instructions:u) | mean | range | count |
93+
|:----------------------------------:|:-----:|:--------------:|:-----:|
94+
| Regressions ❌ <br /> (primary) | - | - | 0 |
95+
| Regressions ❌ <br /> (secondary) | - | - | 0 |
96+
| Improvements ✅ <br /> (primary) | -0.2% | [-0.3%, -0.2%] | 3 |
97+
| Improvements ✅ <br /> (secondary) | -0.3% | [-0.3%, -0.3%] | 1 |
98+
| All ❌✅ (primary) | -0.2% | [-0.3%, -0.2%] | 3 |
99+
100+
101+
Use `ThinVec` more in the AST [#104754](https://github.com/rust-lang/rust/pull/104754) [(Comparison Link)](https://perf.rust-lang.org/compare.html?start=f715e430aac0de131e2ad21804013ea405722a66&end=3fee48c161a48b0c142d3998fff56faee96bd56c&stat=instructions:u)
102+
103+
| (instructions:u) | mean | range | count |
104+
|:----------------------------------:|:-----:|:--------------:|:-----:|
105+
| Regressions ❌ <br /> (primary) | 0.5% | [0.4%, 0.6%] | 9 |
106+
| Regressions ❌ <br /> (secondary) | - | - | 0 |
107+
| Improvements ✅ <br /> (primary) | -0.5% | [-1.5%, -0.2%] | 80 |
108+
| Improvements ✅ <br /> (secondary) | -0.8% | [-3.3%, -0.2%] | 44 |
109+
| All ❌✅ (primary) | -0.4% | [-1.5%, 0.6%] | 89 |
110+
111+
112+
#### Mixed
113+
114+
Enable CopyProp [#107449](https://github.com/rust-lang/rust/pull/107449) [(Comparison Link)](https://perf.rust-lang.org/compare.html?start=dc7a676778706bde3b50ff6d4fe81e2955bd4847&end=639377ed737b25830ec44dc6acf93467c980316a&stat=instructions:u)
115+
116+
| (instructions:u) | mean | range | count |
117+
|:----------------------------------:|:-----:|:--------------:|:-----:|
118+
| Regressions ❌ <br /> (primary) | 0.3% | [0.3%, 0.4%] | 2 |
119+
| Regressions ❌ <br /> (secondary) | 1.2% | [0.1%, 2.7%] | 5 |
120+
| Improvements ✅ <br /> (primary) | -1.4% | [-4.4%, -0.3%] | 151 |
121+
| Improvements ✅ <br /> (secondary) | -1.7% | [-5.5%, -0.3%] | 57 |
122+
| All ❌✅ (primary) | -1.4% | [-4.4%, 0.4%] | 153 |
123+
124+
The improvements here massively outweigh the tiny number of regressions.
125+
126+
(https://github.com/rust-lang/rust/pull/107449#issuecomment-1432772163)
127+
128+
Factor query arena allocation out from query caches [#107833](https://github.com/rust-lang/rust/pull/107833) [(Comparison Link)](https://perf.rust-lang.org/compare.html?start=9a7cc6c32f1a690f86827e4724bcda85e506ef35&end=947b696ce0ce42c98b8fb82ffa0735ade051466c&stat=instructions:u)
129+
130+
| (instructions:u) | mean | range | count |
131+
|:----------------------------------:|:-----:|:--------------:|:-----:|
132+
| Regressions ❌ <br /> (primary) | - | - | 0 |
133+
| Regressions ❌ <br /> (secondary) | 1.0% | [0.2%, 1.9%] | 4 |
134+
| Improvements ✅ <br /> (primary) | -0.3% | [-0.3%, -0.3%] | 1 |
135+
| Improvements ✅ <br /> (secondary) | -0.3% | [-0.4%, -0.2%] | 3 |
136+
| All ❌✅ (primary) | -0.3% | [-0.3%, -0.3%] | 1 |
137+
138+
Enable instcombine for mutable reborrows [#105274](https://github.com/rust-lang/rust/pull/105274) [(Comparison Link)](https://perf.rust-lang.org/compare.html?start=9aa5c24b7d763fb98d998819571128ff2eb8a3ca&end=231bcd131d109d41e5705f48b9c5a6e70c98ff80&stat=instructions:u)
139+
140+
| (instructions:u) | mean | range | count |
141+
|:----------------------------------:|:-----:|:--------------:|:-----:|
142+
| Regressions ❌ <br /> (primary) | 0.6% | [0.2%, 3.1%] | 16 |
143+
| Regressions ❌ <br /> (secondary) | 0.4% | [0.2%, 0.5%] | 11 |
144+
| Improvements ✅ <br /> (primary) | -0.7% | [-2.3%, -0.3%] | 32 |
145+
| Improvements ✅ <br /> (secondary) | -1.0% | [-1.7%, -0.3%] | 17 |
146+
| All ❌✅ (primary) | -0.3% | [-2.3%, 3.1%] | 48 |
147+
148+
This also provides significant wins for binary size, up to 8.8% in stm32f4.

0 commit comments

Comments
 (0)