Skip to content

Commit fa9c2f4

Browse files
committed
Add analysis to triage
1 parent 61e42c6 commit fa9c2f4

File tree

1 file changed

+17
-74
lines changed

1 file changed

+17
-74
lines changed

triage/2021-08-17.md

+17-74
Original file line numberDiff line numberDiff line change
@@ -1,21 +1,31 @@
11
# 2021-08-17 Triage Log
22

3-
TODO: Summary
3+
A fairly busy week which was to expected given that we've [adjusted our algorithm](https://github.com/rust-lang/rustc-perf/pull/956) for whether we label a change as a regression or not. Most regressions were relatively small, and only one has not yet been addressed in some way.
44

5-
Triage done by **@???**.
5+
Triage done by **@rylev**.
66
Revision range: [6b20506d17f4e5e5bf5bcad7e94add4d754b0ae3..aa8f27bf4d980023a8b245ceb25a490a18041eb2](https://perf.rust-lang.org/?start=6b20506d17f4e5e5bf5bcad7e94add4d754b0ae3&end=aa8f27bf4d980023a8b245ceb25a490a18041eb2&absolute=false&stat=instructions%3Au)
77
59 comparisons made in total
88

9-
2 Regressions, 1 Improvements, 4 Mixed; ??? of them in rollups
9+
3 Regressions, 2 Improvements, 2 Mixed; 0 of them in rollups
1010

1111
#### Regressions
1212

1313
encode `generics_of` for fields and ty params [#87815](https://github.com/rust-lang/rust/issues/87815)
1414
- Moderate regression in [instruction counts](https://perf.rust-lang.org/compare.html?start=2d10c2a3302d53e10a4ad3ac581103faaae9eeb6&end=c4c2986c499ee9440b7ae23bf5a62c6168e1ce17&stat=instructions:u) (up to 1.2% on `incr-unchanged` builds of `diesel`)
15+
- While the regressions are fairly small, the largest ones seem to be happening in real-world crates like diesel, serde, and futures.
16+
- The largest regressions seem to be in the `explicit_predicates_of` query which would seem to be directly impacted by this change.
17+
- Left a [comment](https://github.com/rust-lang/rust/pull/87815#issuecomment-900465263) to see how we should address this issue.
1518

1619

1720
Various refactorings of the TAIT infrastructure [#87587](https://github.com/rust-lang/rust/issues/87587)
1821
- Moderate regression in [instruction counts](https://perf.rust-lang.org/compare.html?start=47b41b7788a6f85c749049062f1e4eed497cd894&end=d488de82f30fd1dcb0220d57498638596622394e&stat=instructions:u) (up to 1.5% on `full` builds of `inflate`)
22+
- The issue is [expected](https://github.com/rust-lang/rust/pull/87587#issuecomment-896754235) and is being monitored with a possible solution in the works.
23+
24+
25+
Name the captured upvars for closures/generators in debuginfo [#85020](https://github.com/rust-lang/rust/issues/85020)
26+
- Large regression in [instruction counts](https://perf.rust-lang.org/compare.html?start=c6094fc7b9981d755abeb8c0e866a0f6315b3ec3&end=99efc51dae1dbe9d741707a7ddef84c29e654df5&stat=instructions:u) (up to 4.9% on `incr-patched: println` builds of `webrender-wrench`)
27+
- This is a large regression in one benchmark, but it seems to be in codegen which this change would impact.
28+
- [There is a comment](https://github.com/rust-lang/rust/pull/85020#issuecomment-898823772) justifying this as concerning but worth it given it only impacts one benchmark. I still believe this might be one worth keeping an eye on.
1929

2030

2131
#### Improvements
@@ -24,16 +34,12 @@ Avoid using the `copy_nonoverlapping` wrapper through `mem::replace`. [#87827](h
2434
- Large improvement in [instruction counts](https://perf.rust-lang.org/compare.html?start=e8c25f266349a68faa8c4fb68f5c1d5e4512790f&end=4e886d68766719a7fc1714c52a0e7e81929e8b8e&stat=instructions:u) (up to -2.2% on `incr-patched: u8 3072` builds of `issue-46449`)
2535

2636

27-
#### Mixed
28-
29-
LLVM codegen: Don't emit zero-sized padding for fields [#87254](https://github.com/rust-lang/rust/issues/87254)
30-
- Moderate improvement in [instruction counts](https://perf.rust-lang.org/compare.html?start=e8e1b32a7840c07f30c04b252c379a044a73902d&end=47b41b7788a6f85c749049062f1e4eed497cd894&stat=instructions:u) (up to -1.3% on `full` builds of `ctfe-stress-4`)
31-
- Large regression in [instruction counts](https://perf.rust-lang.org/compare.html?start=e8e1b32a7840c07f30c04b252c379a044a73902d&end=47b41b7788a6f85c749049062f1e4eed497cd894&stat=instructions:u) (up to 4.6% on `full` builds of `deep-vector`)
32-
33-
3437
Run RemoveZsts pass at mir-opt-level=1 [#83417](https://github.com/rust-lang/rust/issues/83417)
3538
- Large improvement in [instruction counts](https://perf.rust-lang.org/compare.html?start=e55c13e1099b78b1a485202fabc9c1b10b1f1d15&end=8007b506ac5da629f223b755f5a5391edd5f6d01&stat=instructions:u) (up to -4.3% on `incr-unchanged` builds of `deeply-nested-async`)
3639
- Moderate regression in [instruction counts](https://perf.rust-lang.org/compare.html?start=e55c13e1099b78b1a485202fabc9c1b10b1f1d15&end=8007b506ac5da629f223b755f5a5391edd5f6d01&stat=instructions:u) (up to 0.8% on `full` builds of `tokio-webpush-simple`)
40+
- Although this meets the criteria for being a mixed run, the improvements far outweigh the regressions so we'll label it as an improvement.
41+
42+
#### Mixed
3743

3844

3945
Introduce `hir::ExprKind::Let` - Take 2 [#80357](https://github.com/rust-lang/rust/issues/80357)
@@ -44,66 +50,7 @@ Introduce `hir::ExprKind::Let` - Take 2 [#80357](https://github.com/rust-lang/ru
4450
BTree: merge the complication introduced by #81486 and #86031 [#87696](https://github.com/rust-lang/rust/issues/87696)
4551
- Small improvement in [instruction counts](https://perf.rust-lang.org/compare.html?start=2a6fb9a4c0e5ca7a81999065943b211c226fe9d8&end=23461b210f1b0a121592a18fc4fb666106006668&stat=instructions:u) (up to -0.6% on `full` builds of `issue-46449`)
4652
- Moderate regression in [instruction counts](https://perf.rust-lang.org/compare.html?start=2a6fb9a4c0e5ca7a81999065943b211c226fe9d8&end=23461b210f1b0a121592a18fc4fb666106006668&stat=instructions:u) (up to 1.7% on `full` builds of `ripgrep`)
47-
48-
49-
#### Probably changed
50-
51-
The following is a list of comparisons which *probably* represent real performance changes,
52-
but we're not 100% sure. Please move things from this category into the categories
53-
above for changes you think *are* definitely relevant and file an issue for each so that
54-
we can consider how to change our heuristics.
55-
56-
57-
Rollup of 14 pull requests [#87923](https://github.com/rust-lang/rust/issues/87923)
58-
- Small improvement in [instruction counts](https://perf.rust-lang.org/compare.html?start=ae90dcf0207c57c3034f00b07048d63f8b2363c8&end=e8e1b32a7840c07f30c04b252c379a044a73902d&stat=instructions:u) (up to -0.4% on `incr-unchanged` builds of `ripgrep`)
59-
- Small regression in [instruction counts](https://perf.rust-lang.org/compare.html?start=ae90dcf0207c57c3034f00b07048d63f8b2363c8&end=e8e1b32a7840c07f30c04b252c379a044a73902d&stat=instructions:u) (up to 0.3% on `incr-full` builds of `deeply-nested-closures`)
60-
61-
62-
Make deleted code in a suggestion clearer [#86532](https://github.com/rust-lang/rust/issues/86532)
63-
- Small improvement in [instruction counts](https://perf.rust-lang.org/compare.html?start=362e0f55eb1f36d279e5c4a58fb0fe5f9a2c579d&end=ccffcafd55e58f769d4b0efc0064bf65e76998e4&stat=instructions:u) (up to -0.2% on `full` builds of `regex`)
64-
- Small regression in [instruction counts](https://perf.rust-lang.org/compare.html?start=362e0f55eb1f36d279e5c4a58fb0fe5f9a2c579d&end=ccffcafd55e58f769d4b0efc0064bf65e76998e4&stat=instructions:u) (up to 0.4% on `incr-patched: println` builds of `regression-31157`)
65-
66-
67-
TryReserveErrorKind tests and inline [#87843](https://github.com/rust-lang/rust/issues/87843)
68-
- Small improvement in [instruction counts](https://perf.rust-lang.org/compare.html?start=ccffcafd55e58f769d4b0efc0064bf65e76998e4&end=25d3e14da77f755ef858b976a25c7e856b62b42a&stat=instructions:u) (up to -0.4% on `full` builds of `deeply-nested`)
69-
- Small regression in [instruction counts](https://perf.rust-lang.org/compare.html?start=ccffcafd55e58f769d4b0efc0064bf65e76998e4&end=25d3e14da77f755ef858b976a25c7e856b62b42a&stat=instructions:u) (up to 1.2% on `incr-patched: println` builds of `coercions`)
70-
71-
72-
Plugin interface cleanup [#85296](https://github.com/rust-lang/rust/issues/85296)
73-
- Small improvement in [instruction counts](https://perf.rust-lang.org/compare.html?start=25d3e14da77f755ef858b976a25c7e856b62b42a&end=eb2226b1f174f3cc644275ef8663be6295a7f704&stat=instructions:u) (up to -0.3% on `incr-full` builds of `inflate`)
74-
- Small regression in [instruction counts](https://perf.rust-lang.org/compare.html?start=25d3e14da77f755ef858b976a25c7e856b62b42a&end=eb2226b1f174f3cc644275ef8663be6295a7f704&stat=instructions:u) (up to 1.3% on `incr-patched: println` builds of `coercions`)
75-
76-
77-
Rollup of 7 pull requests [#87948](https://github.com/rust-lang/rust/issues/87948)
78-
- Moderate improvement in [instruction counts](https://perf.rust-lang.org/compare.html?start=eb2226b1f174f3cc644275ef8663be6295a7f704&end=4e900176b6c402035a6e52da03d453c848f0b336&stat=instructions:u) (up to -2.6% on `incr-patched: println` builds of `coercions`)
79-
- Small regression in [instruction counts](https://perf.rust-lang.org/compare.html?start=eb2226b1f174f3cc644275ef8663be6295a7f704&end=4e900176b6c402035a6e52da03d453c848f0b336&stat=instructions:u) (up to 0.5% on `incr-patched: println` builds of `regression-31157`)
80-
81-
82-
Implement `black_box` using intrinsic [#87916](https://github.com/rust-lang/rust/issues/87916)
83-
- Small improvement in [instruction counts](https://perf.rust-lang.org/compare.html?start=4498e300e41f47c75abe4e49ec91ae949aaeea5f&end=0fa3190394475a84360b34e074e719d519bc40f1&stat=instructions:u) (up to -0.4% on `full` builds of `helloworld`)
84-
- Small regression in [instruction counts](https://perf.rust-lang.org/compare.html?start=4498e300e41f47c75abe4e49ec91ae949aaeea5f&end=0fa3190394475a84360b34e074e719d519bc40f1&stat=instructions:u) (up to 0.4% on `incr-patched: add vec item` builds of `deep-vector`)
85-
86-
87-
Name the captured upvars for closures/generators in debuginfo [#85020](https://github.com/rust-lang/rust/issues/85020)
88-
- Large regression in [instruction counts](https://perf.rust-lang.org/compare.html?start=c6094fc7b9981d755abeb8c0e866a0f6315b3ec3&end=99efc51dae1dbe9d741707a7ddef84c29e654df5&stat=instructions:u) (up to 4.9% on `incr-patched: println` builds of `webrender-wrench`)
89-
90-
91-
Try filtering out non-const impls when we expect const impls [#87375](https://github.com/rust-lang/rust/issues/87375)
92-
- Small regression in [instruction counts](https://perf.rust-lang.org/compare.html?start=fa2692990c05652c7823c8d2afae501a00a69050&end=136eaa1b25d13635b773a481ecab61a3162cb627&stat=instructions:u) (up to 0.4% on `full` builds of `diesel`)
93-
94-
95-
Uplift the invalid_atomic_ordering lint from clippy to rustc [#84039](https://github.com/rust-lang/rust/issues/84039)
96-
- Moderate regression in [instruction counts](https://perf.rust-lang.org/compare.html?start=23461b210f1b0a121592a18fc4fb666106006668&end=92f3753b073c03184118a315cc0d289116102ae1&stat=instructions:u) (up to 0.7% on `incr-unchanged` builds of `unicode_normalization`)
97-
98-
99-
Add future-incompat lint for `doc(primitive)` [#87050](https://github.com/rust-lang/rust/issues/87050)
100-
- Small improvement in [instruction counts](https://perf.rust-lang.org/compare.html?start=73d96b090bb68065cd3a469b27cbd568e39bf0e7&end=0035d9dcecee49d1f7349932bfa52c05a6f83641&stat=instructions:u) (up to -0.3% on `incr-unchanged` builds of `webrender-wrench`)
101-
- Small regression in [instruction counts](https://perf.rust-lang.org/compare.html?start=73d96b090bb68065cd3a469b27cbd568e39bf0e7&end=0035d9dcecee49d1f7349932bfa52c05a6f83641&stat=instructions:u) (up to 0.3% on `incr-unchanged` builds of `helloworld`)
102-
103-
104-
Include (potentially remapped) working dir in crate hash [#87990](https://github.com/rust-lang/rust/issues/87990)
105-
- Small improvement in [instruction counts](https://perf.rust-lang.org/compare.html?start=0e41c6201f7a3f1823b3b668da61577d89bf76d4&end=a183141e2d0f0af7f12946ff1a81615fa35e8099&stat=instructions:u) (up to -0.3% on `incr-unchanged` builds of `deeply-nested-closures`)
106-
- Small regression in [instruction counts](https://perf.rust-lang.org/compare.html?start=0e41c6201f7a3f1823b3b668da61577d89bf76d4&end=a183141e2d0f0af7f12946ff1a81615fa35e8099&stat=instructions:u) (up to 0.3% on `full` builds of `regression-31157`)
53+
- This is mostly a wash in terms of performance (with performance shifting somewhat equally across all the benchmarks), with the largest changes happening in stress tests.
10754

10855

10956
#### Untriaged Pull Requests
@@ -117,7 +64,3 @@ Include (potentially remapped) working dir in crate hash [#87990](https://github
11764
- [#86034 Change entry point to 🛡️ against 💥 💥-payloads](https://github.com/rust-lang/rust/pull/86034)
11865
- [#84560 Inline Iterator as IntoIterator.](https://github.com/rust-lang/rust/pull/84560)
11966

120-
#### Nags requiring follow up
121-
122-
TODO: Nags
123-

0 commit comments

Comments
 (0)