|
| 1 | +# 2021-09-21 Triage Log |
| 2 | + |
| 3 | +TODO: Summary |
| 4 | + |
| 5 | +Triage done by **@???**. |
| 6 | +Revision range: [9f85cd6f2ab2769c16e89dcdddb3e11d9736b351..7743c9fadd64886d537966ba224b9c20e6014a59](https://perf.rust-lang.org/?start=9f85cd6f2ab2769c16e89dcdddb3e11d9736b351&end=7743c9fadd64886d537966ba224b9c20e6014a59&absolute=false&stat=instructions%3Au) |
| 7 | + |
| 8 | +2 Regressions, 4 Improvements, 8 Mixed; ??? of them in rollups |
| 9 | +44 comparisons made in total |
| 10 | + |
| 11 | +#### Regressions |
| 12 | + |
| 13 | +Point at argument instead of call for their obligations [#88719](https://github.com/rust-lang/rust/issues/88719) |
| 14 | +- Large regression in [instruction counts](https://perf.rust-lang.org/compare.html?start=e4828d5b7f745a9e867a9b0cc7f080f287bcf55d&end=e36621057d9f497c822eb800934b5933c10510cf&stat=instructions:u) (up to 1.9% on `full` builds of `diesel`) |
| 15 | + |
| 16 | + |
| 17 | +Rollup of 10 pull requests [#89047](https://github.com/rust-lang/rust/issues/89047) |
| 18 | +- Large regression in [instruction counts](https://perf.rust-lang.org/compare.html?start=e0c38af27cb5f6f961809601b717d6afc3b190ee&end=207d9558d00dd5cc438a6418ba96912d396e2155&stat=instructions:u) (up to 1.9% on `incr-unchanged` builds of `webrender-wrench`) |
| 19 | + |
| 20 | + |
| 21 | +#### Improvements |
| 22 | + |
| 23 | +Avoid unnecessary formatting when trace log level is disabled [#88934](https://github.com/rust-lang/rust/issues/88934) |
| 24 | +- Moderate improvement in [instruction counts](https://perf.rust-lang.org/compare.html?start=78a46efff06558674b51c10d8d81758285746ab5&end=38e576423dc56a006ccf0b72e106f09bdea6efc2&stat=instructions:u) (up to -1.0% on `incr-full` builds of `derive`) |
| 25 | + |
| 26 | + |
| 27 | +Fast reject for NeedsNonConstDrop [#88965](https://github.com/rust-lang/rust/issues/88965) |
| 28 | +- Large improvement in [instruction counts](https://perf.rust-lang.org/compare.html?start=a58db2e4ddbb2e0fa91c53c4901b52a7ef71ef2d&end=8e398f5ba77b283b529c0c61cc2313c4f82d61dd&stat=instructions:u) (up to -2.5% on `full` builds of `html5ever`) |
| 29 | + |
| 30 | + |
| 31 | +Avoid codegen for Result::into_ok in lang_start [#88988](https://github.com/rust-lang/rust/issues/88988) |
| 32 | +- Very large improvement in [instruction counts](https://perf.rust-lang.org/compare.html?start=5438ee424c004d7c89f16b9b1b95e899dbc87b25&end=6cdd42f9f8dd4e5e5ba0aa816bc4c99ab8b102f9&stat=instructions:u) (up to -4.4% on `incr-full` builds of `helloworld`) |
| 33 | + |
| 34 | + |
| 35 | +Don't inline OnceCell initialization closures [#89031](https://github.com/rust-lang/rust/issues/89031) |
| 36 | +- Moderate improvement in [instruction counts](https://perf.rust-lang.org/compare.html?start=3bca7230ff1ec35db25f2547cf2e83a6f450e923&end=7a3d1a5f3dfeaf5177885fedd7db8ecc70670dc1&stat=instructions:u) (up to -0.9% on `full` builds of `helloworld`) |
| 37 | + |
| 38 | + |
| 39 | +#### Mixed |
| 40 | + |
| 41 | +Const drop [#88558](https://github.com/rust-lang/rust/issues/88558) |
| 42 | +- Large improvement in [instruction counts](https://perf.rust-lang.org/compare.html?start=c3c0f80d6081092faff801542dd82f0e2420152b&end=cdeba02ff71416e014f7130f75166890688be986&stat=instructions:u) (up to -1.7% on `full` builds of `externs`) |
| 43 | +- Large regression in [instruction counts](https://perf.rust-lang.org/compare.html?start=c3c0f80d6081092faff801542dd82f0e2420152b&end=cdeba02ff71416e014f7130f75166890688be986&stat=instructions:u) (up to 2.7% on `full` builds of `html5ever`) |
| 44 | +- Regression addressed by followup PRs [#88965](https://github.com/rust-lang/rust/issues/88965) (which has landed) and [#88963](https://github.com/rust-lang/rust/issues/88963) (which has not yet landed). |
| 45 | + |
| 46 | +Introduce a fast path that avoids the `debug_tuple` abstraction when deriving Debug for unit-like enum variants. [#88832](https://github.com/rust-lang/rust/issues/88832) |
| 47 | +- Very large improvement in [instruction counts](https://perf.rust-lang.org/compare.html?start=e36621057d9f497c822eb800934b5933c10510cf&end=78a46efff06558674b51c10d8d81758285746ab5&stat=instructions:u) (up to -4.5% on `full` builds of `stm32f4`) |
| 48 | +- Large regression in [instruction counts](https://perf.rust-lang.org/compare.html?start=e36621057d9f497c822eb800934b5933c10510cf&end=78a46efff06558674b51c10d8d81758285746ab5&stat=instructions:u) (up to 1.3% on `incr-unchanged` builds of `ctfe-stress-4`) |
| 49 | + |
| 50 | + |
| 51 | +Remove concept of 'completion' from the projection cache [#88945](https://github.com/rust-lang/rust/issues/88945) |
| 52 | +- Small improvement in [instruction counts](https://perf.rust-lang.org/compare.html?start=1c03f0d0ba4fee54b7aa458f4d3ad989d8bf7b34&end=e0c38af27cb5f6f961809601b717d6afc3b190ee&stat=instructions:u) (up to -0.3% on `incr-unchanged` builds of `helloworld`) |
| 53 | +- Moderate regression in [instruction counts](https://perf.rust-lang.org/compare.html?start=1c03f0d0ba4fee54b7aa458f4d3ad989d8bf7b34&end=e0c38af27cb5f6f961809601b717d6afc3b190ee&stat=instructions:u) (up to 0.8% on `full` builds of `wg-grammar`) |
| 54 | + |
| 55 | + |
| 56 | +Simplify lazy DefPathHash decoding by using an on-disk hash table. [#82183](https://github.com/rust-lang/rust/issues/82183) |
| 57 | +- Very large improvement in [instruction counts](https://perf.rust-lang.org/compare.html?start=23afad6e7f0ff17320411a274f3a3beb92452235&end=d6cd2c6c877110748296760aefddc21a0ea1d316&stat=instructions:u) (up to -7.7% on `incr-unchanged` builds of `deeply-nested`) |
| 58 | +- Small regression in [instruction counts](https://perf.rust-lang.org/compare.html?start=23afad6e7f0ff17320411a274f3a3beb92452235&end=d6cd2c6c877110748296760aefddc21a0ea1d316&stat=instructions:u) (up to 1.9% on `incr-full` builds of `coercions`) |
| 59 | + |
| 60 | + |
| 61 | +Gather module items after lowering. [#88703](https://github.com/rust-lang/rust/issues/88703) |
| 62 | +- Large improvement in [instruction counts](https://perf.rust-lang.org/compare.html?start=697118d23eaa5d59940befabedcafbaceaf61a1c&end=7b5f95270f1ef7118ef4d3b47428054d23113ad5&stat=instructions:u) (up to -1.3% on `incr-unchanged` builds of `ctfe-stress-4`) |
| 63 | +- Moderate regression in [instruction counts](https://perf.rust-lang.org/compare.html?start=697118d23eaa5d59940befabedcafbaceaf61a1c&end=7b5f95270f1ef7118ef4d3b47428054d23113ad5&stat=instructions:u) (up to 0.8% on `incr-unchanged` builds of `tuple-stress`) |
| 64 | + |
| 65 | + |
| 66 | +Querify `FnAbi::of_{fn_ptr,instance}` as `fn_abi_of_{fn_ptr,instance}`. [#88575](https://github.com/rust-lang/rust/issues/88575) |
| 67 | +- Moderate improvement in [instruction counts](https://perf.rust-lang.org/compare.html?start=5ecc8ad8462574354a55162a0c16b10eb95e3e70&end=91198820d7e697def79177c022b5e98b3d482ddc&stat=instructions:u) (up to -1.0% on `full` builds of `regression-31157`) |
| 68 | +- Large regression in [instruction counts](https://perf.rust-lang.org/compare.html?start=5ecc8ad8462574354a55162a0c16b10eb95e3e70&end=91198820d7e697def79177c022b5e98b3d482ddc&stat=instructions:u) (up to 1.4% on `incr-unchanged` builds of `regression-31157`) |
| 69 | + |
| 70 | + |
| 71 | +Use <[T; N]>::map in Sharded instead of SmallVec and unsafe code [#89069](https://github.com/rust-lang/rust/issues/89069) |
| 72 | +- Small improvement in [instruction counts](https://perf.rust-lang.org/compare.html?start=db1fb85cff63ad5fffe435e17128f99f9e1d970c&end=3bb9eecf07630be796c587a4bba70c49ae6a1bae&stat=instructions:u) (up to -0.3% on `incr-unchanged` builds of `ucd`) |
| 73 | +- Moderate regression in [instruction counts](https://perf.rust-lang.org/compare.html?start=db1fb85cff63ad5fffe435e17128f99f9e1d970c&end=3bb9eecf07630be796c587a4bba70c49ae6a1bae&stat=instructions:u) (up to 2.8% on `incr-full` builds of `ctfe-stress-4`) |
| 74 | + |
| 75 | + |
| 76 | +Lower only one HIR owner at a time [#87234](https://github.com/rust-lang/rust/issues/87234) |
| 77 | +- Large improvement in [instruction counts](https://perf.rust-lang.org/compare.html?start=e7958d35ca2c898a223efe402481e0ecb854310a&end=49c0861ed0fa1d95186d88df0cd4310103e70957&stat=instructions:u) (up to -1.3% on `full` builds of `unused-warnings`) |
| 78 | +- Small regression in [instruction counts](https://perf.rust-lang.org/compare.html?start=e7958d35ca2c898a223efe402481e0ecb854310a&end=49c0861ed0fa1d95186d88df0cd4310103e70957&stat=instructions:u) (up to 0.4% on `incr-unchanged` builds of `helloworld`) |
| 79 | + |
| 80 | + |
| 81 | +#### Probably changed |
| 82 | + |
| 83 | +The following is a list of comparisons which *probably* represent real performance changes, |
| 84 | +but we're not 100% sure. Please move things from this category into the categories |
| 85 | +above for changes you think *are* definitely relevant and file an issue for each so that |
| 86 | +we can consider how to change our heuristics. |
| 87 | + |
| 88 | +Add non_exhaustive_omitted_patterns lint related to rfc-2008-non_exhaustive [#86809](https://github.com/rust-lang/rust/issues/86809) |
| 89 | +- Moderate improvement in [instruction counts](https://perf.rust-lang.org/compare.html?start=34327f6eee06835f81a26765a70ad51d44343ba3&end=2b5ddf36fdc784106b3a064d93dd054c32b1f10f&stat=instructions:u) (up to -0.6% on `full` builds of `unicode_normalization`) |
| 90 | + |
| 91 | + |
| 92 | +Convert `debug_assert` to `assert` in `CachingSourceMapView` [#89049](https://github.com/rust-lang/rust/issues/89049) |
| 93 | +- Small improvement in [instruction counts](https://perf.rust-lang.org/compare.html?start=7b5f95270f1ef7118ef4d3b47428054d23113ad5&end=5ecc8ad8462574354a55162a0c16b10eb95e3e70&stat=instructions:u) (up to -0.4% on `full` builds of `helloworld`) |
| 94 | + |
| 95 | + |
| 96 | +#### Untriaged Pull Requests |
| 97 | + |
| 98 | +- [#89125 Don't use projection cache or candidate cache in intercrate mode](https://github.com/rust-lang/rust/pull/89125) |
| 99 | +- [#89031 Don't inline OnceCell initialization closures](https://github.com/rust-lang/rust/pull/89031) |
| 100 | +- [#88945 Remove concept of 'completion' from the projection cache](https://github.com/rust-lang/rust/pull/88945) |
| 101 | +- [#88881 Rollup of 7 pull requests](https://github.com/rust-lang/rust/pull/88881) |
| 102 | +- [#88824 Rollup of 15 pull requests](https://github.com/rust-lang/rust/pull/88824) |
| 103 | +- [#88710 Use index newtyping for TyVid](https://github.com/rust-lang/rust/pull/88710) |
| 104 | +- [#88703 Gather module items after lowering.](https://github.com/rust-lang/rust/pull/88703) |
| 105 | +- [#88627 Do not preallocate HirIds](https://github.com/rust-lang/rust/pull/88627) |
| 106 | +- [#88597 Move global analyses from lowering to resolution](https://github.com/rust-lang/rust/pull/88597) |
| 107 | +- [#88575 Querify `FnAbi::of_{fn_ptr,instance}` as `fn_abi_of_{fn_ptr,instance}`.](https://github.com/rust-lang/rust/pull/88575) |
| 108 | +- [#88552 Stop allocating vtable entries for non-object-safe methods](https://github.com/rust-lang/rust/pull/88552) |
| 109 | +- [#88533 Concrete regions can show up in mir borrowck if the originated from there](https://github.com/rust-lang/rust/pull/88533) |
| 110 | +- [#88530 Shrink Session a bit](https://github.com/rust-lang/rust/pull/88530) |
| 111 | +- [#88435 Avoid invoking the hir_crate query to traverse the HIR](https://github.com/rust-lang/rust/pull/88435) |
| 112 | +- [#88308 Morph `layout_raw` query into `layout_of`.](https://github.com/rust-lang/rust/pull/88308) |
| 113 | +- [#87815 encode `generics_of` for fields and ty params](https://github.com/rust-lang/rust/pull/87815) |
| 114 | +- [#87781 Remove box syntax from compiler and tools](https://github.com/rust-lang/rust/pull/87781) |
| 115 | +- [#87688 Introduce `let...else`](https://github.com/rust-lang/rust/pull/87688) |
| 116 | +- [#87234 Lower only one HIR owner at a time](https://github.com/rust-lang/rust/pull/87234) |
| 117 | +- [#84373 Encode spans relative to the enclosing item](https://github.com/rust-lang/rust/pull/84373) |
| 118 | +- [#83698 Use undef for uninitialized bytes in constants](https://github.com/rust-lang/rust/pull/83698) |
| 119 | +- [#83302 Get piece unchecked in `write`](https://github.com/rust-lang/rust/pull/83302) |
| 120 | +- [#82183 Simplify lazy DefPathHash decoding by using an on-disk hash table.](https://github.com/rust-lang/rust/pull/82183) |
| 121 | +- [#80522 Split rustc_mir](https://github.com/rust-lang/rust/pull/80522) |
| 122 | + |
| 123 | +#### Nags requiring follow up |
| 124 | + |
| 125 | +TODO: Nags |
| 126 | + |
0 commit comments