|
| 1 | +# 2021-09-14 Triage Log |
| 2 | + |
| 3 | +Fairly busy week, with some large improvements on several benchmarks. Several |
| 4 | +larger rollups landed, in part due to recovery from a temporary CI outage, which |
| 5 | +has complicated some of the performance monitoring work. These should, however, |
| 6 | +now be resolved. |
| 7 | + |
| 8 | +Triage done by **@simulacrum**. |
| 9 | +Revision range: [69c4aa2901ffadf69deaf91b2f90604bcbc2eb36..9f85cd6f2ab2769c16e89dcdddb3e11d9736b351](https://perf.rust-lang.org/?start=69c4aa2901ffadf69deaf91b2f90604bcbc2eb36&end=9f85cd6f2ab2769c16e89dcdddb3e11d9736b351&absolute=false&stat=instructions%3Au) |
| 10 | + |
| 11 | +2 Regressions, 2 Improvements, 5 Mixed; 2 of them in rollups |
| 12 | + |
| 13 | +31 comparisons made in total |
| 14 | + |
| 15 | +#### Regressions |
| 16 | + |
| 17 | +Encode spans relative to the enclosing item [#84373](https://github.com/rust-lang/rust/issues/84373) |
| 18 | +- 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`) |
| 19 | +- Regressions are much smaller on "full" benchmarks (<0.5%). This support has |
| 20 | + also landed gated behind a -Z flag, so the incremental cost is being paid |
| 21 | + without the possible wins. |
| 22 | + |
| 23 | +Rollup of 7 pull requests [#88881](https://github.com/rust-lang/rust/issues/88881) |
| 24 | +- 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`) |
| 25 | +- No clear cause. Investigation is partially ongoing, but may warrant an |
| 26 | + assignee -- there's several possible candidates. |
| 27 | + |
| 28 | +#### Improvements |
| 29 | + |
| 30 | +Rollup of 10 pull requests [#88857](https://github.com/rust-lang/rust/issues/88857) |
| 31 | +- 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`) |
| 32 | +- Unexpected improvement, though certainly nice to see. Suspected cause is |
| 33 | + [#88147](https://github.com/rust-lang/rust/pull/88147), but this has not been |
| 34 | + verified. |
| 35 | + |
| 36 | +Use FxHashSet instead of Vec for well formed tys [#88771](https://github.com/rust-lang/rust/issues/88771) |
| 37 | +- 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`) |
| 38 | + |
| 39 | + |
| 40 | +#### Mixed |
| 41 | + |
| 42 | +Split rustc_mir [#80522](https://github.com/rust-lang/rust/issues/80522) |
| 43 | +- 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`) |
| 44 | +- 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`) |
| 45 | +- Mixed results. Noted in a comment that this also was a slight regression in |
| 46 | + bootstrap time as measured by perf.rust-lang.org, which seems unfortunate and |
| 47 | + may merit some investigation. |
| 48 | + |
| 49 | +Rollup of 15 pull requests [#88824](https://github.com/rust-lang/rust/issues/88824) |
| 50 | +- 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`) |
| 51 | +- 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`) |
| 52 | +- Report seems a little bit close to noise, and is definitely mixed. No clear |
| 53 | + cause, but also a fairly large rollup. |
| 54 | + |
| 55 | +Refactor query forcing [#78780](https://github.com/rust-lang/rust/issues/78780) |
| 56 | +- 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`) |
| 57 | +- 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`) |
| 58 | +- Solid improvement in rustc_query_impl compile times (8%). Overall looks like |
| 59 | + results are overall more of an improvement than a regression. |
| 60 | + |
| 61 | +Update LLVM submodule [#88765](https://github.com/rust-lang/rust/issues/88765) |
| 62 | +- 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`) |
| 63 | +- 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`) |
| 64 | +- Fairly mixed results, no clear picture either way. |
| 65 | + |
| 66 | +#### Untriaged Pull Requests |
| 67 | + |
| 68 | +- [#88881 Rollup of 7 pull requests](https://github.com/rust-lang/rust/pull/88881) |
| 69 | +- [#88824 Rollup of 15 pull requests](https://github.com/rust-lang/rust/pull/88824) |
| 70 | +- [#88765 Update LLVM submodule](https://github.com/rust-lang/rust/pull/88765) |
| 71 | +- [#88710 Use index newtyping for TyVid](https://github.com/rust-lang/rust/pull/88710) |
| 72 | +- [#88597 Move global analyses from lowering to resolution](https://github.com/rust-lang/rust/pull/88597) |
| 73 | +- [#88552 Stop allocating vtable entries for non-object-safe methods](https://github.com/rust-lang/rust/pull/88552) |
| 74 | +- [#88533 Concrete regions can show up in mir borrowck if the originated from there](https://github.com/rust-lang/rust/pull/88533) |
| 75 | +- [#88530 Shrink Session a bit](https://github.com/rust-lang/rust/pull/88530) |
| 76 | +- [#88435 Avoid invoking the hir_crate query to traverse the HIR](https://github.com/rust-lang/rust/pull/88435) |
| 77 | +- [#87815 encode `generics_of` for fields and ty params](https://github.com/rust-lang/rust/pull/87815) |
| 78 | +- [#87781 Remove box syntax from compiler and tools](https://github.com/rust-lang/rust/pull/87781) |
| 79 | +- [#87688 Introduce `let...else`](https://github.com/rust-lang/rust/pull/87688) |
| 80 | +- [#87640 Rollup of 9 pull requests](https://github.com/rust-lang/rust/pull/87640) |
| 81 | +- [#87587 Various refactorings of the TAIT infrastructure](https://github.com/rust-lang/rust/pull/87587) |
| 82 | +- [#87244 Better diagnostics with mismatched types due to implicit static lifetime](https://github.com/rust-lang/rust/pull/87244) |
| 83 | +- [#86898 Add fast path for Path::cmp that skips over long shared prefixes](https://github.com/rust-lang/rust/pull/86898) |
| 84 | +- [#86777 Include terminators in instance size estimate](https://github.com/rust-lang/rust/pull/86777) |
| 85 | +- [#86698 Move OnDiskCache to rustc_query_impl.](https://github.com/rust-lang/rust/pull/86698) |
| 86 | +- [#86588 Rollup of 8 pull requests](https://github.com/rust-lang/rust/pull/86588) |
| 87 | +- [#86034 Change entry point to 🛡️ against 💥 💥-payloads](https://github.com/rust-lang/rust/pull/86034) |
| 88 | +- [#85556 Warn about unreachable code following an expression with an uninhabited type](https://github.com/rust-lang/rust/pull/85556) |
| 89 | +- [#84560 Inline Iterator as IntoIterator.](https://github.com/rust-lang/rust/pull/84560) |
| 90 | +- [#84373 Encode spans relative to the enclosing item](https://github.com/rust-lang/rust/pull/84373) |
| 91 | +- [#83302 Get piece unchecked in `write`](https://github.com/rust-lang/rust/pull/83302) |
| 92 | +- [#80522 Split rustc_mir](https://github.com/rust-lang/rust/pull/80522) |
0 commit comments