Skip to content

Commit 6e1ad2d

Browse files
Triage 2020-09-21
1 parent 6c66c38 commit 6e1ad2d

File tree

1 file changed

+88
-0
lines changed

1 file changed

+88
-0
lines changed

triage/2020-09-21.md

Lines changed: 88 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,88 @@
1+
2020-09-21 Triage Log
2+
3+
This was the first week of semi-automated perf triage, and thank goodness:
4+
There was a lot going on. Most regressions are either quite small or already
5+
have a fix published.
6+
7+
[#72412](https://github.com/rust-lang/rust/issues/72412) is probably the most
8+
interesting case. It fixes a pathological problem involving nested closures by
9+
adding cycle detection to what seems to be a relatively hot part of the code.
10+
As a result, most users will see a slight [compile-time
11+
regression](https://perf.rust-lang.org/compare.html?start=2c69266c0697b0c0b34abea62cba1a1d3c59c90c&end=fdc3405c20122fd0f077f5a77addabc873f20e4c&stat=task-clock)
12+
for their crates.
13+
14+
Triage done by **@ecstaticmorse**.
15+
Revision range: [dbb73f8f79ab176a897d5a95e696adb71b957cbe..b01326ab033e41986d4a5c8b96ce4f40f3b38e30](https://perf.rust-lang.org/?start=dbb73f8f79ab176a897d5a95e696adb71b957cbe&end=b01326ab033e41986d4a5c8b96ce4f40f3b38e30&absolute=false&stat=instructions%3Au)
16+
17+
2 Regressions, 5 Improvements, 4 Mixed,
18+
1 of them in rollups
19+
20+
#### Regressions
21+
22+
[#76575](https://github.com/rust-lang/rust/issues/76575) compare generic constants using `AbstractConst`s
23+
- Moderate regression in [instruction counts](https://perf.rust-lang.org/compare.html?start=fdc3405c20122fd0f077f5a77addabc873f20e4c&end=9f8ac718f44e280edb1a7b3266f2c26106ec11a0&stat=instructions:u)
24+
(up to 2.4% on `full` builds of `inflate-check`)
25+
26+
[#74040](https://github.com/rust-lang/rust/issues/74040) fix unification of const variables
27+
- Moderate regression in [instruction counts](https://perf.rust-lang.org/compare.html?start=956e06c6c85e918524b67503c4d65c7baf539585&end=e0bf356f9e5f6a8cca1eb656e900ffba79340fa1&stat=instructions:u)
28+
(up to 3.3% on `incr-full` builds of `coercions-debug`)
29+
30+
#### Improvements
31+
32+
[#76656](https://github.com/rust-lang/rust/issues/76656) Don't query stability data when `staged_api` is off
33+
- Moderate improvement in [instruction counts](https://perf.rust-lang.org/compare.html?start=f9a322a6fdd1e12fbe30441feaa4402e23efe303&end=1eb00abf35b9bb59825edf81d05c2fa2f17cefca&stat=instructions:u)
34+
(up to -1.5% on `incr-unchanged` builds of `many-assoc-items-check`)
35+
36+
[#76311](https://github.com/rust-lang/rust/issues/76311) Split `core::slice` to smaller mods
37+
- Moderate improvement in [instruction counts](https://perf.rust-lang.org/compare.html?start=90b1f5ae59291dd69d72fad41a22277df19dc953&end=4c1966f97e192d6282be935baa163fb58f9b8b27&stat=instructions:u)
38+
(up to -1.9% on `full` builds of `html5ever-opt`)
39+
- Very odd, since this just split up a file.
40+
41+
[#76880](https://github.com/rust-lang/rust/issues/76880) Update cc crate to 1.0.60 to understand aarch64-apple-darwin with clang
42+
- Moderate improvement in [instruction counts](https://perf.rust-lang.org/compare.html?start=8e9d5db8392c44a2e94008168fa3506ecddaa357&end=b3aae050cd7e0c9a9eb6085bd49b02f67dc1396f&stat=instructions:u)
43+
(up to -1.0% on `incr-patched: Compiler new` builds of `regex-opt`)
44+
45+
[#76975](https://github.com/rust-lang/rust/issues/76975) Rollup of 15 pull requests
46+
- Moderate improvement in [instruction counts](https://perf.rust-lang.org/compare.html?start=b873fa6d42cf305131d2583d03b84686e5e40f2e&end=81e02708f1f4760244756548981277d5199baa9a&stat=instructions:u)
47+
on exactly `encoding-check` (-2.0% on `incr-full` builds)
48+
49+
[#76680](https://github.com/rust-lang/rust/issues/76680) Make `ensure_sufficient_stack()` non-generic, using cargo-llvm-lines
50+
- Moderate improvement in [instruction counts](https://perf.rust-lang.org/compare.html?start=4eff9b0b29a8898c839d46f3c66526710afed68a&end=b01326ab033e41986d4a5c8b96ce4f40f3b38e30&stat=instructions:u)
51+
(up to -3.2% on `incr-full` builds of `coercions-debug`)
52+
53+
#### Mixed
54+
55+
[#76244](https://github.com/rust-lang/rust/issues/76244) Removing the `def_id` field from hot `ParamEnv` to make it smaller
56+
- Moderate regression in [instruction counts](https://perf.rust-lang.org/compare.html?start=a055c5a1bd95e029e9b31891db63b6dc8258b472&end=7402a394471a6738a40fea7d4f1891666e5a80c5&stat=instructions:u)
57+
(up to 3.3% on `full` builds of `unicode_normalization-check`)
58+
- Moderate improvement in [instruction counts](https://perf.rust-lang.org/compare.html?start=a055c5a1bd95e029e9b31891db63b6dc8258b472&end=7402a394471a6738a40fea7d4f1891666e5a80c5&stat=instructions:u)
59+
(up to -1.8% on `full` builds of `ctfe-stress-4-check`)
60+
- A fix has been published as [#76913](https://github.com/rust-lang/rust/pull/76913).
61+
62+
[#72412](https://github.com/rust-lang/rust/issues/72412) Issue 72408 nested closures exponential
63+
- Very large improvement in [instruction counts](https://perf.rust-lang.org/compare.html?start=2c69266c0697b0c0b34abea62cba1a1d3c59c90c&end=fdc3405c20122fd0f077f5a77addabc873f20e4c&stat=instructions:u)
64+
(up to -99.9% on `incr-unchanged` builds of `deeply-nested-closures-opt`)
65+
- Moderate regression in [instruction counts](https://perf.rust-lang.org/compare.html?start=2c69266c0697b0c0b34abea62cba1a1d3c59c90c&end=fdc3405c20122fd0f077f5a77addabc873f20e4c&stat=instructions:u)
66+
(up to 1.5% on `full` builds of `coercions-check`)
67+
- Fixes a pathological case, but slows down normal builds slightly.
68+
- Might be worth investigating to see if we can do better, although the author seems to have done a pretty thorough job.
69+
70+
[#74949](https://github.com/rust-lang/rust/issues/74949) Validate constants during `const_eval_raw`
71+
- Very large regression in [instruction counts](https://perf.rust-lang.org/compare.html?start=10b3595ba6a4c658c9dea105488fc562c815e434&end=5e449b9adff463455743291b0c1f76feec092992&stat=instructions:u)
72+
(up to 515.8% on `incr-unchanged` builds of `ctfe-stress-4-check`)
73+
- Moderate improvement in [instruction counts](https://perf.rust-lang.org/compare.html?start=10b3595ba6a4c658c9dea105488fc562c815e434&end=5e449b9adff463455743291b0c1f76feec092992&stat=instructions:u)
74+
(up to -2.7% on `incr-patched: add static arr item` builds of `coercions-check`)
75+
- A fix has been published as [#77006](https://github.com/rust-lang/rust/pull/77006).
76+
77+
[#75119](https://github.com/rust-lang/rust/issues/75119) New MIR optimization pass to reduce branches on match of tuples of enums
78+
- Moderate improvement in [instruction counts](https://perf.rust-lang.org/compare.html?start=81e02708f1f4760244756548981277d5199baa9a&end=2e0edc0f28c5647141bedba02e7a222d3a5dc9c3&stat=instructions:u)
79+
(up to -1.6% on `full` builds of `style-servo-opt`)
80+
- Moderate regression in [instruction counts](https://perf.rust-lang.org/compare.html?start=81e02708f1f4760244756548981277d5199baa9a&end=2e0edc0f28c5647141bedba02e7a222d3a5dc9c3&stat=instructions:u)
81+
(up to 1.3% on `full` builds of `wf-projection-stress-65510-check`)
82+
- Seems to have been a regression overall. If there's no improvment in the generated code, we should disable this.
83+
84+
#### Nags requiring follow up
85+
86+
- [#75119](https://github.com/rust-lang/rust/issues/75119)
87+
- [#76575](https://github.com/rust-lang/rust/issues/76575)
88+

0 commit comments

Comments
 (0)