From bfffc57b4fb463303281fa0774ff0db3c1d68a70 Mon Sep 17 00:00:00 2001 From: Mark Rousskov Date: Mon, 13 Sep 2021 22:20:41 -0400 Subject: [PATCH] Add triage for this week --- triage/2021-09-14.md | 92 ++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 92 insertions(+) create mode 100644 triage/2021-09-14.md diff --git a/triage/2021-09-14.md b/triage/2021-09-14.md new file mode 100644 index 000000000..d8cd6e385 --- /dev/null +++ b/triage/2021-09-14.md @@ -0,0 +1,92 @@ +# 2021-09-14 Triage Log + +Fairly busy week, with some large improvements on several benchmarks. Several +larger rollups landed, in part due to recovery from a temporary CI outage, which +has complicated some of the performance monitoring work. These should, however, +now be resolved. + +Triage done by **@simulacrum**. +Revision range: [69c4aa2901ffadf69deaf91b2f90604bcbc2eb36..9f85cd6f2ab2769c16e89dcdddb3e11d9736b351](https://perf.rust-lang.org/?start=69c4aa2901ffadf69deaf91b2f90604bcbc2eb36&end=9f85cd6f2ab2769c16e89dcdddb3e11d9736b351&absolute=false&stat=instructions%3Au) + +2 Regressions, 2 Improvements, 5 Mixed; 2 of them in rollups + +31 comparisons made in total + +#### Regressions + +Encode spans relative to the enclosing item [#84373](https://github.com/rust-lang/rust/issues/84373) +- Large regression in [instruction counts](https://perf.rust-lang.org/compare.html?start=8c2b6ea37d7719a0370bd404030eef9702c1752c&end=547d9374d26f203ab963b3ffe1ed36bd70f16633&stat=instructions:u) (up to 2.1% on `incr-unchanged` builds of `tuple-stress`) +- Regressions are much smaller on "full" benchmarks (<0.5%). This support has + also landed gated behind a -Z flag, so the incremental cost is being paid + without the possible wins. + +Rollup of 7 pull requests [#88881](https://github.com/rust-lang/rust/issues/88881) +- Large regression in [instruction counts](https://perf.rust-lang.org/compare.html?start=9ef27bf7dc50a8b51435579b4f2e86f7ee3f7a94&end=c7dbe7a830100c70d59994fd940bf75bb6e39b39&stat=instructions:u) (up to 2.1% on `full` builds of `inflate`) +- No clear cause. Investigation is partially ongoing, but may warrant an + assignee -- there's several possible candidates. + +#### Improvements + +Rollup of 10 pull requests [#88857](https://github.com/rust-lang/rust/issues/88857) +- Very large improvement in [instruction counts](https://perf.rust-lang.org/compare.html?start=641e02f388acc6b1d316a59c605a32d1711a8758&end=43769af69e43d0fb9770f0a392671f000595df78&stat=instructions:u) (up to -45.0% on `full` builds of `coercions`) +- Unexpected improvement, though certainly nice to see. Suspected cause is + [#88147](https://github.com/rust-lang/rust/pull/88147), but this has not been + verified. + +Use FxHashSet instead of Vec for well formed tys [#88771](https://github.com/rust-lang/rust/issues/88771) +- Large improvement in [instruction counts](https://perf.rust-lang.org/compare.html?start=0212c70b1df2aa542aef48d5fcde0af3734970c6&end=9ef27bf7dc50a8b51435579b4f2e86f7ee3f7a94&stat=instructions:u) (up to -2.6% on `full` builds of `externs`) + + +#### Mixed + +Split rustc_mir [#80522](https://github.com/rust-lang/rust/issues/80522) +- Large improvement in [instruction counts](https://perf.rust-lang.org/compare.html?start=47ae8deb8a35030bdc4e502b03400800864cc264&end=97032a6dfacdd3548e4bff98c90a6b3875a14077&stat=instructions:u) (up to -2.0% on `full` builds of `deeply-nested-async`) +- Moderate regression in [instruction counts](https://perf.rust-lang.org/compare.html?start=47ae8deb8a35030bdc4e502b03400800864cc264&end=97032a6dfacdd3548e4bff98c90a6b3875a14077&stat=instructions:u) (up to 0.8% on `full` builds of `await-call-tree`) +- Mixed results. Noted in a comment that this also was a slight regression in + bootstrap time as measured by perf.rust-lang.org, which seems unfortunate and + may merit some investigation. + +Rollup of 15 pull requests [#88824](https://github.com/rust-lang/rust/issues/88824) +- Moderate improvement in [instruction counts](https://perf.rust-lang.org/compare.html?start=b69fe57261086e70aea9d5b58819a1794bf7c121&end=22719efcc570b043f2e519d6025e5f36eab38fe2&stat=instructions:u) (up to -0.7% on `incr-patched: println` builds of `html5ever`) +- Moderate regression in [instruction counts](https://perf.rust-lang.org/compare.html?start=b69fe57261086e70aea9d5b58819a1794bf7c121&end=22719efcc570b043f2e519d6025e5f36eab38fe2&stat=instructions:u) (up to 1.0% on `incr-unchanged` builds of `derive`) +- Report seems a little bit close to noise, and is definitely mixed. No clear + cause, but also a fairly large rollup. + +Refactor query forcing [#78780](https://github.com/rust-lang/rust/issues/78780) +- Moderate improvement in [instruction counts](https://perf.rust-lang.org/compare.html?start=43769af69e43d0fb9770f0a392671f000595df78&end=8c2b6ea37d7719a0370bd404030eef9702c1752c&stat=instructions:u) (up to -0.9% on `incr-full` builds of `unused-warnings`) +- Small regression in [instruction counts](https://perf.rust-lang.org/compare.html?start=43769af69e43d0fb9770f0a392671f000595df78&end=8c2b6ea37d7719a0370bd404030eef9702c1752c&stat=instructions:u) (up to 1.3% on `incr-patched: println` builds of `coercions`) +- Solid improvement in rustc_query_impl compile times (8%). Overall looks like + results are overall more of an improvement than a regression. + +Update LLVM submodule [#88765](https://github.com/rust-lang/rust/issues/88765) +- Moderate improvement in [instruction counts](https://perf.rust-lang.org/compare.html?start=0273e3bce7a0ce49e96a9662163e2380cb87e0be&end=0212c70b1df2aa542aef48d5fcde0af3734970c6&stat=instructions:u) (up to -0.7% on `full` builds of `ctfe-stress-4`) +- Moderate regression in [instruction counts](https://perf.rust-lang.org/compare.html?start=0273e3bce7a0ce49e96a9662163e2380cb87e0be&end=0212c70b1df2aa542aef48d5fcde0af3734970c6&stat=instructions:u) (up to 0.7% on `incr-unchanged` builds of `ripgrep`) +- Fairly mixed results, no clear picture either way. + +#### Untriaged Pull Requests + +- [#88881 Rollup of 7 pull requests](https://github.com/rust-lang/rust/pull/88881) +- [#88824 Rollup of 15 pull requests](https://github.com/rust-lang/rust/pull/88824) +- [#88765 Update LLVM submodule](https://github.com/rust-lang/rust/pull/88765) +- [#88710 Use index newtyping for TyVid](https://github.com/rust-lang/rust/pull/88710) +- [#88597 Move global analyses from lowering to resolution](https://github.com/rust-lang/rust/pull/88597) +- [#88552 Stop allocating vtable entries for non-object-safe methods](https://github.com/rust-lang/rust/pull/88552) +- [#88533 Concrete regions can show up in mir borrowck if the originated from there](https://github.com/rust-lang/rust/pull/88533) +- [#88530 Shrink Session a bit](https://github.com/rust-lang/rust/pull/88530) +- [#88435 Avoid invoking the hir_crate query to traverse the HIR](https://github.com/rust-lang/rust/pull/88435) +- [#87815 encode `generics_of` for fields and ty params](https://github.com/rust-lang/rust/pull/87815) +- [#87781 Remove box syntax from compiler and tools](https://github.com/rust-lang/rust/pull/87781) +- [#87688 Introduce `let...else`](https://github.com/rust-lang/rust/pull/87688) +- [#87640 Rollup of 9 pull requests](https://github.com/rust-lang/rust/pull/87640) +- [#87587 Various refactorings of the TAIT infrastructure](https://github.com/rust-lang/rust/pull/87587) +- [#87244 Better diagnostics with mismatched types due to implicit static lifetime](https://github.com/rust-lang/rust/pull/87244) +- [#86898 Add fast path for Path::cmp that skips over long shared prefixes](https://github.com/rust-lang/rust/pull/86898) +- [#86777 Include terminators in instance size estimate](https://github.com/rust-lang/rust/pull/86777) +- [#86698 Move OnDiskCache to rustc_query_impl.](https://github.com/rust-lang/rust/pull/86698) +- [#86588 Rollup of 8 pull requests](https://github.com/rust-lang/rust/pull/86588) +- [#86034 Change entry point to 🛡️ against 💥 💥-payloads](https://github.com/rust-lang/rust/pull/86034) +- [#85556 Warn about unreachable code following an expression with an uninhabited type](https://github.com/rust-lang/rust/pull/85556) +- [#84560 Inline Iterator as IntoIterator.](https://github.com/rust-lang/rust/pull/84560) +- [#84373 Encode spans relative to the enclosing item](https://github.com/rust-lang/rust/pull/84373) +- [#83302 Get piece unchecked in `write`](https://github.com/rust-lang/rust/pull/83302) +- [#80522 Split rustc_mir](https://github.com/rust-lang/rust/pull/80522)