Skip to content

Commit 6948d0c

Browse files
committed
[wip] triage for 2020-11-24
1 parent 74ffc11 commit 6948d0c

File tree

2 files changed

+30
-14
lines changed

2 files changed

+30
-14
lines changed

triage/2020-11-24.md

Lines changed: 29 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -10,31 +10,45 @@ Revision range: [c919f490bbcd2b29b74016101f7ec71aaa24bdbb..25a691003cf6676259ee7
1010

1111
#### Regressions
1212

13-
[#79167](https://github.com/rust-lang/rust/issues/79167)
13+
[#79167](https://github.com/rust-lang/rust/issues/79167): linux: try to use libc getrandom to allow interposition #78785
1414
- Large regression in [instruction counts](https://perf.rust-lang.org/compare.html?start=7d747db0d5dd8f08f2efb073e2e77a34553465a7&end=8d2d0014922e9f541694bfe87642749239990e0e&stat=instructions:u) (up to 7.7% on `incr-unchanged` builds of `deeply-nested-async-opt`)
15+
- The PR allows intercepting `getrandom` at runtime with `LD_PRELOAD`, so it's possible a regression was expected. However, 40% increased bootstrap times for `libcore` seems excessive.
16+
- Landed in a rollup, so it's possible another PR may be to blame. Opened [#79389](https://github.com/rust-lang/rust/pull/79389) measuring the impact.
1517

16-
[#78646](https://github.com/rust-lang/rust/issues/78646)
18+
[#78646](https://github.com/rust-lang/rust/issues/78646): Use `PackedFingerprint` in `DepNode` to reduce memory consumption
1719
- Moderate regression in [instruction counts](https://perf.rust-lang.org/compare.html?start=172acf8f61018df3719e42e633ffd62ebecaa1e7&end=ae6aa22cf26fede2177abe4ff974030058885b7a&stat=instructions:u) (up to 3.2% on `full` builds of `keccak-check`)
20+
- Major improvement in [memory usage](https://perf.rust-lang.org/compare.html?start=172acf8f61018df3719e42e633ffd62ebecaa1e7&end=ae6aa22cf26fede2177abe4ff974030058885b7a&stat=max-rss) (up to 21.6 on `full` builds of `keccak-opt`)
21+
- The regression in cycle count is worse than the last perf run on the PR, but overall seems to be expected. Not leaving a comment.
1822

19-
[#79237](https://github.com/rust-lang/rust/issues/79237)
20-
- Moderate regression in [instruction counts](https://perf.rust-lang.org/compare.html?start=d806d656578c2d6b34cf96809862e8cffb293a68&end=3adedb8f4c5bb71e9e8a21a047cf8ed121ce0e75&stat=instructions:u) (up to 1.4% on `incr-unchanged` builds of `unify-linearly-debug`)
23+
[#79237](https://github.com/rust-lang/rust/issues/79237): std: Update the backtrace crate submodule
24+
- Moderate regression in [instruction counts](https://perf.rust-lang.org/compare.html?start=d806d656578c2d6b34cf96809862e8cffb293a68&end=3adedb8f4c5bb71e9e8a21a047cf8ed121ce0e75&stat=instructions:u) (up to 1.4% on `incr-unchanged` builds of `unify-linearly-debug`), mostly on `debug` and `opt` builds.
25+
- **@ehuss** reports a 600% decrease in incremental builds when using `-Z run-dsymutil=no` on MacOS (!!). [#79361](https://github.com/rust-lang/rust/issues/79361) tracks enabling `-Z run-dsymutil=no` by default.
26+
- **@alexcrichton** theorizes the regression is because there's more code in libstd overall (since it now handles archives of debug symbol).
27+
- Not leaving a nag, since the regression is small and the improvement more than makes up for it.
2128

22-
[#79273](https://github.com/rust-lang/rust/issues/79273)
23-
- Moderate regression in [instruction counts](https://perf.rust-lang.org/compare.html?start=3adedb8f4c5bb71e9e8a21a047cf8ed121ce0e75&end=da384694807172f0ca40eca2e49a11688aba6e93&stat=instructions:u) (up to 1.8% on `full` builds of `coercions-debug`)
24-
25-
[#77872](https://github.com/rust-lang/rust/issues/77872)
26-
- Moderate regression in [instruction counts](https://perf.rust-lang.org/compare.html?start=20328b532336017213ccb4095740955d81060ebc&end=5d5ff84130da0d74c6ece368dbe821d8f83fa526&stat=instructions:u) (up to 1.1% on `incr-unchanged` builds of `deeply-nested-async-opt`)
29+
[#79273](https://github.com/rust-lang/rust/issues/79273): Rollup of 8 pull requests
30+
- Moderate regression in [instruction counts](https://perf.rust-lang.org/compare.html?start=3adedb8f4c5bb71e9e8a21a047cf8ed121ce0e75&end=da384694807172f0ca40eca2e49a11688aba6e93&stat=instructions:u) (up to 1.8% on `full` builds of `coercions-debug`). **@Mark-Simulacrum** thinks this is a false positive, since there are no similar regressions in `-opt` or `-check` builds.
31+
<!--Most regressions are in LLVM/codegen, so likely due to [#79067](https://github.com/rust-lang/rust/pull/79067/): Refactor the abi handling code a bit.-->
32+
- Minor improvements in [instruction counts](https://perf.rust-lang.org/compare.html?start=3adedb8f4c5bb71e9e8a21a047cf8ed121ce0e75&end=da384694807172f0ca40eca2e49a11688aba6e93&stat=instructions:u) on `doc` builds (up to .4% on `unused-warnings-doc`). Likely due to [#79264](https://github.com/rust-lang/rust/pull/79264): Get rid of some doctree items.
2733

2834
#### Improvements
2935

30-
[#79200](https://github.com/rust-lang/rust/issues/79200)
31-
- Moderate improvement in [instruction counts](https://perf.rust-lang.org/compare.html?start=3d3c8c5e0d534cdd794f1b3359089eba031d492c&end=fe982319aa0aa5bbfc2795791a753832292bd2ba&stat=instructions:u) (up to -1.9% on `full` builds of `ctfe-stress-4-opt`)
36+
[#79200](https://github.com/rust-lang/rust/issues/79200): Rollup of 14 pull requests
37+
- Moderate improvement in [instruction counts](https://perf.rust-lang.org/compare.html?start=3d3c8c5e0d534cdd794f1b3359089eba031d492c&end=fe982319aa0aa5bbfc2795791a753832292bd2ba&stat=instructions:u) (up to -1.9% on `full` builds of `ctfe-stress-4-opt`, up to -5.5 on `doc` builds)
38+
- Improvement is almost completely due to a -8.5% improvement on `eval_to_allocation_raw`
39+
- Unclear which PR caused the improvement; both [#79149](https://github.com/rust-lang/rust/pull/79149) and [#79101](https://github.com/rust-lang/rust/pull/79101) are likely candidates. [Left a nag](https://github.com/rust-lang/rust/pull/79200#issuecomment-733237927) asking the authors to use `rollup=never` in the future.
3240

3341
[#79220](https://github.com/rust-lang/rust/issues/79220)
3442
- Moderate improvement in [instruction counts](https://perf.rust-lang.org/compare.html?start=09c9c9f7da72b774cc445c0f56fc0b9792a49647&end=4ec27e4b79891b0ebc2ad71a3c4ac94f67d93f93&stat=instructions:u) (up to -3.3% on `full` builds of `deeply-nested-async-check`)
43+
- Improvement is almost completely due to a -25.6% improvement in `normalize_generic_arg_after_erasing_regions` and -24.7% improvement in `erase_regions_ty`.
44+
- Likely due to [#79193](https://github.com/rust-lang/rust/pull/79193), which reverts an earlier PR. We should keep an eye on this, since it will likely regress again when the validation is re-enabled.
3545

36-
[#78088](https://github.com/rust-lang/rust/issues/78088)
46+
[#78088](https://github.com/rust-lang/rust/issues/78088): Add lint for `panic!("{}")`
3747
- Moderate improvement in [instruction counts](https://perf.rust-lang.org/compare.html?start=4ec27e4b79891b0ebc2ad71a3c4ac94f67d93f93&end=74285eb3a83eac639f9c54ba8c4ccf9879b3b00a&stat=instructions:u) (up to -3.3% on `incr-full` builds of `futures-opt`)
48+
- The improvement is likely because the desugaring of `panic!` changed.
49+
- Not related to performance triage, but this is the second PR I've seen removing clippy lints altogether instead of going through the deprecation process. Maybe **@rust-lang/clippy** should get pinged automatically on changes to `src/tools/clippy`?
50+
51+
<!-- automated reports start here -->
3852

3953
[#79275](https://github.com/rust-lang/rust/issues/79275)
4054
- Moderate improvement in [instruction counts](https://perf.rust-lang.org/compare.html?start=8ca930aa262c04a898cf64155e40a6de3ec9ba9e&end=20328b532336017213ccb4095740955d81060ebc&stat=instructions:u) (up to -1.1% on `incr-unchanged` builds of `deeply-nested-async-opt`)
@@ -62,4 +76,6 @@ Revision range: [c919f490bbcd2b29b74016101f7ec71aaa24bdbb..25a691003cf6676259ee7
6276

6377
#### Nags requiring follow up
6478

65-
TODO: Nags
79+
- [Left a comment](https://github.com/rust-lang/rust/pull/79167#issuecomment-733207145) nagging the author of the `LD_PRELOAD` PR.
80+
- [Left a comment](https://github.com/rust-lang/rust/pull/79273#issuecomment-733224830) asking why a codegen refactor could have regressed instruction count.
81+
- [Left a comment](https://github.com/rust-lang/rust/pull/79220#issuecomment-733248754) noting that we should keep an eye on performance for when the MIR validation is re-enabled.

triage/README.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -54,7 +54,7 @@ Easy cases: there is only a single PR in the merge.
5454
the comments to see if any perf CI runs were done, and whether the
5555
regression was expected.
5656
- Add an entry to the triage log. Include the PR title and number, a link to
57-
the PR comment you added mentioning the performange effect, and a link to the
57+
the PR comment you added mentioning the performance effect, and a link to the
5858
performance results. Include useful details, such as the size of the
5959
regression/improvement, and any promises of follow-up action from authors in
6060
the case of a regression.

0 commit comments

Comments
 (0)