# 2020-12-08 Triage Log

Quiet week.

Triage done by **@simulacrum**.
Revision range: [c7cff213e937c1bb301be807ce04fcf6092b9163..4fd4a98d4788bc987d7f7add9df5f5ead6a1c15e](https://perf.rust-lang.org/?start=c7cff213e937c1bb301be807ce04fcf6092b9163&end=4fd4a98d4788bc987d7f7add9df5f5ead6a1c15e&absolute=false&stat=instructions%3Au)

0 Regressions, 2 Improvements, 1 Mixed
0 of them in rollups

#### Regressions

#### Improvements

[#79594](https://github.com/rust-lang/rust/issues/79594)
- Moderate improvement in [instruction counts](https://perf.rust-lang.org/compare.html?start=c7cff213e937c1bb301be807ce04fcf6092b9163&end=d015f0d92144f0e72735a918aee8510b0fe2cff5&stat=instructions:u) (up to -1.7% on `incr-full` builds of `ctfe-stress-4-debug`)
- Likely due to the stress test not reflecting benefits of memoizing CTFE, which
  this partially removed (due to the addition of heap allocation, which should
  not be deduplicated).

[#79680](https://github.com/rust-lang/rust/issues/79680)
- Very large improvement in [instruction counts](https://perf.rust-lang.org/compare.html?start=e6225434fff7d493baac0aa91c57f2da923ea196&end=2218520b8adf8b8e64b817537d9eb0a84840e2f1&stat=instructions:u) (up to -20.6% on `full` builds of `match-stress-enum-check`)
- Fixes a regression from last week by adding a `#[inline]` attribute on some
  hot code. Improvements are likely not significant outside stress tests.

#### Mixed

[#78373](https://github.com/rust-lang/rust/issues/78373)
- Very large improvement in [instruction counts](https://perf.rust-lang.org/compare.html?start=551a2c6cbcf239f662a18233cf647bf67e5a74ed&end=9122b769c8306b1cb3c8d1f96fca3ea3e208e22e&stat=instructions:u) (up to -28.4% on `incr-patched: println` builds of `clap-rs-debug`)
- Large regression in [instruction counts](https://perf.rust-lang.org/compare.html?start=551a2c6cbcf239f662a18233cf647bf67e5a74ed&end=9122b769c8306b1cb3c8d1f96fca3ea3e208e22e&stat=instructions:u) (up to 9.9% on `incr-patched: println` builds of `regression-31157-opt`)
- Soundness fix ("Don't leak return value after panic in drop") and the perf
  results are mixed, largest ones mostly in incremental and generally likely
  just "generating more (necessary) LLVM IR".

#### Nags requiring follow up

- stdarch expansion causing a 40% libcore compile time regression is still not
  resolved, and resolution is unclear. It seems likely that this could be one of
  our key elements for improving std compile times at least, though.
- No new nags.
