Skip to content

Commit 5b55bd9

Browse files
committed
Add triage 2021-05-18
1 parent cfea125 commit 5b55bd9

File tree

1 file changed

+111
-0
lines changed

1 file changed

+111
-0
lines changed

triage/2021-05-18.md

Lines changed: 111 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,111 @@
1+
2+
2021-05-18 Triage Log
3+
4+
A lot of noise in the benchmark results this week. We are discussing ([zulip archive](https://zulip-archive.rust-lang.org/247081tcompilerperformance/06104coercionsdebugnoise.html), [live zulip](https://rust-lang.zulipchat.com/#narrow/stream/247081-t-compiler.2Fperformance/topic/coercions-debug.20noise)) how best to update the benchmark set to eliminate the noisy cases that are bouncing around. Beyond that, some large improvements to a few individual benchmarks.
5+
6+
The memory usage ([max-rss](https://perf.rust-lang.org/?start=2021-05-11&end=2021-05-18&absolute=true&stat=max-rss)) seemed largely flat. Except for a upward trend on `tuple-stess` that indicates 4% more memory from a week ago.
7+
8+
Triage done by **@pnkfelix**.
9+
Revision range: [382f748f23979e37e3e012b090e5a0313463f182..25a277f03df7e44643ddfcc240d034409cb2f505](https://perf.rust-lang.org/?start=382f748f23979e37e3e012b090e5a0313463f182&end=25a277f03df7e44643ddfcc240d034409cb2f505&absolute=false&stat=instructions%3Au)
10+
11+
5 Regressions, 7 Improvements, 2 Mixed
12+
1 of them in rollups
13+
14+
#### Regressions
15+
16+
Reachable statics have reachable initializers [#84549](https://github.com/rust-lang/rust/issues/84549)
17+
- Moderate regression in [instruction counts](https://perf.rust-lang.org/compare.html?start=747a5d2a5d6693f5e9426524b0dab34eb1587377&end=f8e1e9238077a829ce1ac0cc1f2c7e0eaa4e679d&stat=instructions:u) (up to 1.4% on `incr-unchanged` builds of `ctfe-stress-4-opt`)
18+
- `ctfe-stress-4-debug` also saw a 1.2% regression in its `incr-unchanged` builds.
19+
- Other benchmarks were not significantly impacted.
20+
- The two regressions were [anticipated](https://github.com/rust-lang/rust/pull/84549#issuecomment-832760519) from a perf run on the PR itself.
21+
22+
#### Improvements
23+
24+
have on_completion record subcycles [#85186](https://github.com/rust-lang/rust/issues/85186)
25+
- Large improvement in [instruction counts](https://perf.rust-lang.org/compare.html?start=952c5732c2d25a875f90e5cd5dd29a1a21c1d4a2&end=6d395a1c2946c79966490f5b1e6e619d3a713e6b&stat=instructions:u) (up to -9.4% on `incr-unchanged` builds of `syn-opt`)
26+
- No other benchmark was significantly impacted.
27+
- The improvement was [anticipated](https://github.com/rust-lang/rust/pull/85186#issuecomment-840666856) from a perf run on the PR itself.
28+
- (But this PR was about incr-comp correctness, not performance.)
29+
30+
Store VariantIdx to distinguish enum variants [#85195](https://github.com/rust-lang/rust/issues/85195)
31+
- Very large improvement in [instruction counts](https://perf.rust-lang.org/compare.html?start=17f30e5451f581d753899d2f628e5be354df33cd&end=754d17121d04d02bee634558129110b68fa95b00&stat=instructions:u) (up to -24.4% on `full` builds of `match-stress-enum-check`)
32+
- All of the `match-stress-enum` variants observed a similar improvement. This makes sense since that is a microbenchmark stressing the compilation of `match` expressions.
33+
- The improvement was [anticipated](https://github.com/rust-lang/rust/pull/85195#issuecomment-839356544) from a perf run on the PR itself.
34+
35+
Do not allocate or unwind after fork [#81858](https://github.com/rust-lang/rust/issues/81858)
36+
- Moderate improvement in [instruction counts](https://perf.rust-lang.org/compare.html?start=8cf990c9b5c59f25c806fad9f4466f9d6509bbea&end=d565c7488749fd0e998d6be21efeb20354e4696d&stat=instructions:u) (up to -1.1% on `incr-patched: b9b3e592dd cherry picked` builds of `style-servo-debug`)
37+
- No other benchmark was significantly impacted.
38+
- Seems like noise.
39+
40+
#### Mixed
41+
42+
BTree: no longer copy keys and values before dropping them [#84904](https://github.com/rust-lang/rust/issues/84904)
43+
- Moderate improvement in [instruction counts](https://perf.rust-lang.org/compare.html?start=ba8d7e2cb7cfc87070585c17cd0aa4ae7f091a08&end=5c029265465301fe9cb3960ce2a5da6c99b8dcf2&stat=instructions:u) (up to -1.2% on `incr-unchanged` builds of `ctfe-stress-4-check` and `ctfe-stress-4-opt` and `ctfe-stress-4-debug`)
44+
- Moderate regression in [instruction counts](https://perf.rust-lang.org/compare.html?start=ba8d7e2cb7cfc87070585c17cd0aa4ae7f091a08&end=5c029265465301fe9cb3960ce2a5da6c99b8dcf2&stat=instructions:u) (up to 1.2% on `incr-patched: println` builds of `cargo-opt`)
45+
- These changes were [anticipated](https://github.com/rust-lang/rust/pull/84904#issuecomment-837892302) from a perf run on the PR itself.
46+
47+
rustc_codegen_ssa: only create backend `BasicBlock`s as-needed. [#84993](https://github.com/rust-lang/rust/issues/84993)
48+
- Moderate improvement in [instruction counts](https://perf.rust-lang.org/compare.html?start=fe72845f7bb6a77b9e671e6a4f32fe714962cec4&end=a55748ffe94e71f841c7b1d752779b0db138b342&stat=instructions:u) (up to -4.3% on `full` builds of `syn-opt`)
49+
- Moderate regression in [instruction counts](https://perf.rust-lang.org/compare.html?start=fe72845f7bb6a77b9e671e6a4f32fe714962cec4&end=a55748ffe94e71f841c7b1d752779b0db138b342&stat=instructions:u) (up to 1.8% on `full` builds of `deeply-nested-async-check`)
50+
- The improvement to `syn-opt` was [anticipated](https://github.com/rust-lang/rust/pull/84993#issuecomment-841687503) from perf runs on the PR itself.
51+
- The regression on `deeply-nested-async-check` was not predicted by that run.
52+
53+
#### Suspicious Noise
54+
55+
##### coercions
56+
57+
rustc_driver cleanup [#83610](https://github.com/rust-lang/rust/issues/83610)
58+
- Moderate regression in [instruction counts](https://perf.rust-lang.org/compare.html?start=c1e7e361f7cddd1fe9b3bfef71a6539d2570e4fb&end=ac923d94f86a6f7c881ecbedcd0a68d7986a35bd&stat=instructions:u) (up to 1.7% on `full` builds of `coercions-debug`)
59+
- No other benchmark was significantly impacted.
60+
- No performance regression was expected here.
61+
- Seems like noise.
62+
63+
Add auto traits and clone trait migrations for RFC2229 [#84730](https://github.com/rust-lang/rust/issues/84730)
64+
- Moderate regression in [instruction counts](https://perf.rust-lang.org/compare.html?start=e1ff91f439bc09f566da211c6449821b4e949279&end=28e2b29b8952485679367cc05699fb5154f4e5c3&stat=instructions:u) (up to 1.4% on `full` builds of `coercions-debug`)
65+
- No other benchmark was significantly impacted.
66+
- No performance regression was expected here.
67+
- Seems like noise.
68+
69+
Provide ExitStatusError [#82973](https://github.com/rust-lang/rust/issues/82973)
70+
- Moderate regression in [instruction counts](https://perf.rust-lang.org/compare.html?start=5f10d310f475b3ba583b9c590b8d19f6c2fde28f&end=25a277f03df7e44643ddfcc240d034409cb2f505&stat=instructions:u) (up to 1.7% on `full` builds of `coercions-debug`)
71+
- No other benchmark was significantly impacted.
72+
- No performance regression was expected here.
73+
- Seems like noise.
74+
75+
Fix `--remap-path-prefix` not correctly remapping `rust-src` component paths and unify handling of path mapping with virtualized paths [#83813](https://github.com/rust-lang/rust/issues/83813)
76+
- Moderate improvement in [instruction counts](https://perf.rust-lang.org/compare.html?start=ac923d94f86a6f7c881ecbedcd0a68d7986a35bd&end=e1ff91f439bc09f566da211c6449821b4e949279&stat=instructions:u) (up to -1.4% on `full` builds of `coercions-debug`)
77+
- No other benchmark was significantly impacted.
78+
- Seems like noise.
79+
80+
Rollup of 5 pull requests [#85231](https://github.com/rust-lang/rust/issues/85231)
81+
- Moderate improvement in [instruction counts](https://perf.rust-lang.org/compare.html?start=28e2b29b8952485679367cc05699fb5154f4e5c3&end=70e52caed91a43fc01867921e67fcd3478056edd&stat=instructions:u) (up to -1.7% on `full` builds of `coercions-debug`)
82+
- No other benchmark was significantly impacted.
83+
- Seems like noise.
84+
85+
Rollup of 8 pull requests [#85414](https://github.com/rust-lang/rust/issues/85414)
86+
- Moderate improvement in [instruction counts](https://perf.rust-lang.org/compare.html?start=fa72878a61f2b0a2127fe7d700724642fc79ec66&end=3e99439f4dacc8ba0d2ca48d221694362d587927&stat=instructions:u) (up to -1.1% on `incr-full` builds of `coercions-debug`)
87+
- `coercions-check` and `coercions-opt` had smaller improvements, -0.7% and -0.5%, respectively.
88+
- No other benchmark was significantly impacted.
89+
- Seems like noise.
90+
91+
92+
##### html5ever
93+
94+
Add support for const operands and options to global_asm! [#84107](https://github.com/rust-lang/rust/issues/84107)
95+
- Moderate regression in [instruction counts](https://perf.rust-lang.org/compare.html?start=6d395a1c2946c79966490f5b1e6e619d3a713e6b&end=17f30e5451f581d753899d2f628e5be354df33cd&stat=instructions:u) (up to 1.4% on `full` builds of `html5ever-opt`)
96+
- No other benchmark was significantly impacted.
97+
- No performance regression was expected here.
98+
- Seems like noise.
99+
100+
Update cc crate [#85190](https://github.com/rust-lang/rust/issues/85190)
101+
- Moderate improvement in [instruction counts](https://perf.rust-lang.org/compare.html?start=754d17121d04d02bee634558129110b68fa95b00&end=91f2e2d21820ff9946f27aa743911d7344caa0e0&stat=instructions:u) (up to -1.2% on `full` builds of `html5ever-opt`)
102+
- `coercions-debug` also saw a -1.0% improvement on its `full` builds.
103+
- Based on the corresponding regressions above, seems like noise.
104+
105+
106+
107+
#### Nags requiring follow up
108+
109+
- Double-check whether regression to `deeply-nested-async-check` from [#84993](https://github.com/rust-lang/rust/issues/84993) is noise or something real.
110+
111+
- Look into the 4% `tuple-stress` regression. The first seems like gradual creep, plus a 3% jump that seems to be associated with [#84571](https://github.com/rust-lang/rust/pull/84571), "Parse unnamed fields of struct and union type." (Perhaps its inherent given the nature of that microbenchmark, but some other benchmarks also had their [memory usage impacted](https://perf.rust-lang.org/compare.html?start=44ec846f4ea68ffa6d06e7d68f078bd3cc59d4ec&end=9964284fed181676300aad693449f5b751e35ff2&stat=max-rss).

0 commit comments

Comments
 (0)