Skip to content

Commit 76b47ba

Browse files
authored
Merge pull request #1385 from pnkfelix/triage-2022-08-02
triage for this week.
2 parents a53dca7 + 7d3c5f7 commit 76b47ba

File tree

1 file changed

+179
-0
lines changed

1 file changed

+179
-0
lines changed

triage/2022-08-02.md

+179
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,179 @@
1+
# 2022-08-02 Triage Log
2+
3+
A good week! We had one regression from [#99123](https://github.com/rust-lang/rust/pull/99123)
4+
that could use further study, but we had a huge swath of improvements. The downward trend of the
5+
[performance graph summary](https://perf.rust-lang.org/?start=2022-07-04&end=2022-08-03&kind=percentfromfirst&stat=instructions%3Au)
6+
is striking. Perhaps best of all: Only *one* rollup PR impacted performance this week which makes
7+
things so much easier to evaluate! Great work everyone!
8+
9+
Triage done by **@pnkfelix**.
10+
Revision range: [50166d5e..792bc5a0](https://perf.rust-lang.org/?start=50166d5e5e82ca795306824decbe4ffabcc23d3d&end=792bc5a0102d0973d42183a2b267850bb905236f&absolute=false&stat=instructions%3Au)
11+
12+
**Summary**:
13+
14+
| | mean | max | count |
15+
|:----------:|:----:|:---:|:-----:|
16+
| Regressions 😿 <br /> (primary) | 0.4% | 0.7% | 5 |
17+
| Regressions 😿 <br /> (secondary) | 0.6% | 1.1% | 11 |
18+
| Improvements 🎉 <br /> (primary) | -0.8% | -3.3% | 140 |
19+
| Improvements 🎉 <br /> (secondary) | -0.9% | -11.0% | 95 |
20+
| All 😿🎉 (primary) | -0.8% | -3.3% | 145 |
21+
22+
23+
1 Regressions, 4 Improvements, 4 Mixed; 1 of them in rollups
24+
44 artifact comparisons made in total
25+
26+
#### Regressions
27+
28+
`proc_macro`: use crossbeam channels for the `proc_macro` cross-thread bridge [#99123](https://github.com/rust-lang/rust/pull/99123) [(Comparison Link)](https://perf.rust-lang.org/compare.html?start=8f68c43ca6a6381a4d73f887f112e9fb95769905&end=bd84c73ffe0a54ce2d77c92948a26ffa8fec04a3&stat=instructions:u)
29+
30+
| | mean | max | count |
31+
|:----------:|:----:|:---:|:-----:|
32+
| Regressions 😿 <br /> (primary) | 0.9% | 1.4% | 11 |
33+
| Regressions 😿 <br /> (secondary) | N/A | N/A | 0 |
34+
| Improvements 🎉 <br /> (primary) | N/A | N/A | 0 |
35+
| Improvements 🎉 <br /> (secondary) | N/A | N/A | 0 |
36+
| All 😿🎉 (primary) | 0.9% | 1.4% | 11 |
37+
38+
* all 11 regressions are to various profiles+scenarios for html5ever
39+
* @nnethercote and @eddyb are discussing the regression to html5ever on the PR (#99123)
40+
* not marking as triaged, not yet at least; lets try and see if eddyb's suggested mitigation actually helps here
41+
42+
#### Improvements
43+
44+
Rollup of 7 pull requests [#99816](https://github.com/rust-lang/rust/pull/99816) [(Comparison Link)](https://perf.rust-lang.org/compare.html?start=da5b546d2e563747b16a16dae83bacf49aa0bf3b&end=2643b16468fda787470340890212591d8bc832b7&stat=instructions:u)
45+
46+
| | mean | max | count |
47+
|:----------:|:----:|:---:|:-----:|
48+
| Regressions 😿 <br /> (primary) | N/A | N/A | 0 |
49+
| Regressions 😿 <br /> (secondary) | 1.0% | 1.0% | 1 |
50+
| Improvements 🎉 <br /> (primary) | -0.2% | -0.2% | 1 |
51+
| Improvements 🎉 <br /> (secondary) | -0.5% | -1.6% | 10 |
52+
| All 😿🎉 (primary) | -0.2% | -0.2% | 1 |
53+
54+
* primary improvement was `hyper check incr-unchanged`; secondaries were `coercions debug full`, and 9 variations on `extern`. Secondary regression was `deep-vector opt incr-patched: println`.
55+
56+
anonymize all bound vars, not just regions [#99730](https://github.com/rust-lang/rust/pull/99730) [(Comparison Link)](https://perf.rust-lang.org/compare.html?start=3924dac7bb29bc8eb348059c901e8f912399c857&end=211637d0802a1c17d41b414e091e9a8691b26068&stat=instructions:u)
57+
58+
| | mean | max | count |
59+
|:----------:|:----:|:---:|:-----:|
60+
| Regressions 😿 <br /> (primary) | N/A | N/A | 0 |
61+
| Regressions 😿 <br /> (secondary) | N/A | N/A | 0 |
62+
| Improvements 🎉 <br /> (primary) | -0.4% | -0.6% | 56 |
63+
| Improvements 🎉 <br /> (secondary) | -0.4% | -0.9% | 36 |
64+
| All 😿🎉 (primary) | -0.4% | -0.6% | 56 |
65+
66+
* As is, this PR registered compilation time improvements
67+
* However, @simulacrum noted that it was associated with a nearly 2% regression to *bootstrap times*.
68+
69+
70+
Limit symbols exported from proc macros [#99944](https://github.com/rust-lang/rust/pull/99944) [(Comparison Link)](https://perf.rust-lang.org/compare.html?start=6423ab3a755fed97f75b2361849155d4e996d02f&end=25bb1c13bd472b75ceebee3b8dcf4dcbc431a8be&stat=instructions:u)
71+
72+
| | mean | max | count |
73+
|:----------:|:----:|:---:|:-----:|
74+
| Regressions 😿 <br /> (primary) | N/A | N/A | 0 |
75+
| Regressions 😿 <br /> (secondary) | N/A | N/A | 0 |
76+
| Improvements 🎉 <br /> (primary) | -0.6% | -2.9% | 41 |
77+
| Improvements 🎉 <br /> (secondary) | -2.4% | -10.7% | 11 |
78+
| All 😿🎉 (primary) | -0.6% | -2.9% | 41 |
79+
80+
* wow, this was a big win! serde_derive incr-unchanged builds up to 3% faster; ripgrep check is up to 1.75% faster, hyper and webrender check 1% faster.
81+
82+
83+
84+
Lexer improvements [#99884](https://github.com/rust-lang/rust/pull/99884) [(Comparison Link)](https://perf.rust-lang.org/compare.html?start=1f5d8d49eb6111931091f700d07518cd2b80bc18&end=dcb444af0a417766dde9b7b8f537fa1ba1568daf&stat=instructions:u)
85+
86+
| | mean | max | count |
87+
|:----------:|:----:|:---:|:-----:|
88+
| Regressions 😿 <br /> (primary) | N/A | N/A | 0 |
89+
| Regressions 😿 <br /> (secondary) | N/A | N/A | 0 |
90+
| Improvements 🎉 <br /> (primary) | -0.3% | -0.6% | 42 |
91+
| Improvements 🎉 <br /> (secondary) | -0.5% | -1.2% | 48 |
92+
| All 😿🎉 (primary) | -0.3% | -0.6% | 42 |
93+
94+
* This was a very *broad* win, where a huge number of benchmarks all improved by a relatively small amount.
95+
* I'm impressed by the [inventiveness shown during PR review](https://github.com/rust-lang/rust/pull/99884#pullrequestreview-1055325175).
96+
97+
#### Mixed
98+
99+
Remove remaining uses of box syntax from librustdoc [#99577](https://github.com/rust-lang/rust/pull/99577) [(Comparison Link)](https://perf.rust-lang.org/compare.html?start=5dda74a48cd50de10539478c1e0b6699bfdab665&end=3924dac7bb29bc8eb348059c901e8f912399c857&stat=instructions:u)
100+
101+
| | mean | max | count |
102+
|:----------:|:----:|:---:|:-----:|
103+
| Regressions 😿 <br /> (primary) | N/A | N/A | 0 |
104+
| Regressions 😿 <br /> (secondary) | 0.3% | 0.3% | 4 |
105+
| Improvements 🎉 <br /> (primary) | -0.3% | -0.3% | 2 |
106+
| Improvements 🎉 <br /> (secondary) | N/A | N/A | 0 |
107+
| All 😿🎉 (primary) | -0.3% | -0.3% | 2 |
108+
109+
* as you might expect, the limited number of performance changes here were to doc benchmarks (specifically serde and libc doc).
110+
111+
Remove `TreeAndSpacing`. [#99887](https://github.com/rust-lang/rust/pull/99887) [(Comparison Link)](https://perf.rust-lang.org/compare.html?start=c907b6f7e0f89c3c4146b585961d2ddcf173584b&end=1202bbaf48a0a919a2e0cfd8b7dce97e8fc3030d&stat=instructions:u)
112+
113+
| | mean | max | count |
114+
|:----------:|:----:|:---:|:-----:|
115+
| Regressions 😿 <br /> (primary) | 0.3% | 0.3% | 1 |
116+
| Regressions 😿 <br /> (secondary) | 0.2% | 0.2% | 1 |
117+
| Improvements 🎉 <br /> (primary) | -0.3% | -0.4% | 5 |
118+
| Improvements 🎉 <br /> (secondary) | -0.4% | -0.9% | 16 |
119+
| All 😿🎉 (primary) | -0.2% | -0.4% | 6 |
120+
121+
* already triaged by nnethercote: "There's a single regressing result and 25 improved results. The changes are all very small. This is fine"
122+
123+
Thin `AssocItem` [#95884](https://github.com/rust-lang/rust/pull/95884) [(Comparison Link)](https://perf.rust-lang.org/compare.html?start=fe3342816a282949f014caa05ea2e669ff9d3d3c&end=21de280cccb4eb02ead6bf0af40e2355a9136d6f&stat=instructions:u)
124+
125+
| | mean | max | count |
126+
|:----------:|:----:|:---:|:-----:|
127+
| Regressions 😿 <br /> (primary) | 0.3% | 0.4% | 16 |
128+
| Regressions 😿 <br /> (secondary) | 0.5% | 0.6% | 9 |
129+
| Improvements 🎉 <br /> (primary) | -0.3% | -0.4% | 7 |
130+
| Improvements 🎉 <br /> (secondary) | -0.4% | -0.5% | 8 |
131+
| All 😿🎉 (primary) | 0.1% | 0.4% | 23 |
132+
133+
* already triaged by nnethercote: "This looks perf-neutral, with the improvements roughly the same size as the regressions."
134+
135+
Remove `fn backtrace` and replace with usages of provider API [#99431](https://github.com/rust-lang/rust/pull/99431) [(Comparison Link)](https://perf.rust-lang.org/compare.html?start=9d5cd21a5d4d5325b1f1c9903d000d19e3703e2a&end=9538d2d0f1c708affa36ef8917729efec2e5e0ed&stat=instructions:u)
136+
137+
| | mean | max | count |
138+
|:----------:|:----:|:---:|:-----:|
139+
| Regressions 😿 <br /> (primary) | N/A | N/A | 0 |
140+
| Regressions 😿 <br /> (secondary) | 1.5% | 1.5% | 2 |
141+
| Improvements 🎉 <br /> (primary) | -0.9% | -1.4% | 2 |
142+
| Improvements 🎉 <br /> (secondary) | N/A | N/A | 0 |
143+
| All 😿🎉 (primary) | -0.9% | -1.4% | 2 |
144+
145+
* the improvements are to building primary benchmark cargo opt in incr-patch: println and incr-full, by -1.38% and -0.42% respectively . The regression was to the externs incr-full in debug and opt profiles, both by 1.52%.
146+
* this is entirely acceptable (and wasn't marked as a performance regression by the bot in the first place)
147+
148+
#### Untriaged Pull Requests
149+
150+
- [#99792 Rollup of 8 pull requests](https://github.com/rust-lang/rust/pull/99792)
151+
- [#99520 Rollup of 9 pull requests](https://github.com/rust-lang/rust/pull/99520)
152+
- [#99251 Upgrade indexmap and thorin-dwp to use hashbrown 0.12](https://github.com/rust-lang/rust/pull/99251)
153+
- [#99231 Rollup of 5 pull requests](https://github.com/rust-lang/rust/pull/99231)
154+
- [#99210 Rollup of 5 pull requests](https://github.com/rust-lang/rust/pull/99210)
155+
- [#99126 remove allow(rustc::potential_query_instability) in rustc_span](https://github.com/rust-lang/rust/pull/99126)
156+
- [#99123 proc_macro: use crossbeam channels for the proc_macro cross-thread bridge](https://github.com/rust-lang/rust/pull/99123)
157+
- [#99047 Rollup of 6 pull requests](https://github.com/rust-lang/rust/pull/99047)
158+
- [#99014 Rollup of 8 pull requests](https://github.com/rust-lang/rust/pull/99014)
159+
- [#98987 Rollup of 7 pull requests](https://github.com/rust-lang/rust/pull/98987)
160+
- [#98957 don't allow ZST in ScalarInt ](https://github.com/rust-lang/rust/pull/98957)
161+
- [#98904 Rollup of 8 pull requests](https://github.com/rust-lang/rust/pull/98904)
162+
- [#98874 Rollup of 5 pull requests](https://github.com/rust-lang/rust/pull/98874)
163+
- [#98612 Rollup of 9 pull requests](https://github.com/rust-lang/rust/pull/98612)
164+
- [#98591 Rollup of 9 pull requests](https://github.com/rust-lang/rust/pull/98591)
165+
- [#98178 btree: avoid forcing the allocator to be a reference](https://github.com/rust-lang/rust/pull/98178)
166+
- [#98145 Pull Derefer before ElaborateDrops](https://github.com/rust-lang/rust/pull/98145)
167+
- [#97786 Account for `-Z simulate-remapped-rust-src-base` when resolving remapped paths](https://github.com/rust-lang/rust/pull/97786)
168+
- [#97019 Transition to valtrees pt1](https://github.com/rust-lang/rust/pull/97019)
169+
- [#97004 Proc macro tweaks](https://github.com/rust-lang/rust/pull/97004)
170+
- [#96883 Add EarlyBinder](https://github.com/rust-lang/rust/pull/96883)
171+
- [#96825 Retire `ItemLikeVisitor` trait](https://github.com/rust-lang/rust/pull/96825)
172+
- [#96010 Implement `core::ptr::Unique` on top of `NonNull`](https://github.com/rust-lang/rust/pull/96010)
173+
- [#95990 Rollup of 7 pull requests](https://github.com/rust-lang/rust/pull/95990)
174+
- [#95956 Support unstable moves via stable in unstable items](https://github.com/rust-lang/rust/pull/95956)
175+
- [#95899 rustc_metadata: Do not encode unnecessary module children](https://github.com/rust-lang/rust/pull/95899)
176+
- [#95893 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.](https://github.com/rust-lang/rust/pull/95893)
177+
- [#95835 Rollup of 8 pull requests](https://github.com/rust-lang/rust/pull/95835)
178+
- [#95794 `parse_tt`: a few more tweaks](https://github.com/rust-lang/rust/pull/95794)
179+
- [#95742 Rollup of 6 pull requests](https://github.com/rust-lang/rust/pull/95742)

0 commit comments

Comments
 (0)