# 2021-03-10 Triage Log

A generally positive albeit quiet week though many of the perf improvements were gaining performance back from previous regressions. We'll need to continue to keep an eye on rollups as there were two that caused small performance changes.

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

1 Regression, 4 Improvements, 1 Mixed
2 of them in rollups

#### Regressions

Rollup of 8 pull requests [#82929](https://github.com/rust-lang/rust/issues/82929)
- Moderate regression in [instruction counts](https://perf.rust-lang.org/compare.html?start=4b9f5cc4c10a161047475cb9bbe02c4fda57fb07&end=3a5d45f68cadc8fff4fbb557780f92b403b19c19&stat=instructions:u) (up to 1.6% on `full` builds of `keccak-debug`)
- A fairly consistent (albeit small) regression in the `typecheck` query across different benchmarks though none of the PRs in the rollup seem to touch that query. This might be noise, but it's hard to tell

#### Improvements

Move check only relevant in error case out of critical path [#82738](https://github.com/rust-lang/rust/issues/82738)
- Large improvement in [instruction counts](https://perf.rust-lang.org/compare.html?start=51748a8fc77283914d4135f31b5966a407208187&end=dfe519b344b60e54a2028d3366ca366a228537e3&stat=instructions:u) (up to -5.3% on `incr-patched: println` builds of `unicode_normalization-check`)
- Fixes the performance regression introduced in [#81458](https://github.com/rust-lang/rust/pull/81458).

Backport some LLVM compile-time improvements [#82783](https://github.com/rust-lang/rust/issues/82783)
- Moderate improvement in [instruction counts](https://perf.rust-lang.org/compare.html?start=27885a94c6a6c98a0d49af3962f1218adcd6efd2&end=1d6b0f626aad4ee9f2eaec4d5582f45620ccab80&stat=instructions:u) (up to -2.4% on `incr-patched: println` builds of `regex-opt`)
- This gains some of the perf lost by the update to LLVM 12 in [#81451](https://github.com/rust-lang/rust/issues/81451).

Rollup of 10 pull requests [#82953](https://github.com/rust-lang/rust/issues/82953)
- Moderate improvement in [instruction counts](https://perf.rust-lang.org/compare.html?start=3a5d45f68cadc8fff4fbb557780f92b403b19c19&end=861872bc453bde79b83ff99d443d035225f10e87&stat=instructions:u) (up to -2.2% on `incr-patched: b9b3e592dd cherry picked` builds of `style-servo-debug`)

Update tracing to 0.1.25 [#82553](https://github.com/rust-lang/rust/issues/82553)
- Moderate improvement in [instruction counts](https://perf.rust-lang.org/compare.html?start=939b14334dfec68d85b01b62c1be0172cee03339&end=476acbf1e9965b5e95c90f0d7d658709812b7003&stat=instructions:u) (up to -3.7% on `full` builds of `deeply-nested-check`)
- Small improvements likely due to slight reduction in code generated for statically disabled instrumentation.

#### Mixed

Upgrade to LLVM 12 [#81451](https://github.com/rust-lang/rust/issues/81451)
- Very large improvement in [instruction counts](https://perf.rust-lang.org/compare.html?start=ec7f258d543e1ac7d0b94435972331e85da8c509&end=409920873cf8a95739a55dc5fe5adb05e1b4758e&stat=instructions:u) (up to -11.3% on `full` builds of `keccak-opt`)
- Large regression in [instruction counts](https://perf.rust-lang.org/compare.html?start=ec7f258d543e1ac7d0b94435972331e85da8c509&end=409920873cf8a95739a55dc5fe5adb05e1b4758e&stat=instructions:u) (up to 7.7% on `full` builds of `deeply-nested-opt`)
- Some of the perf regression seen here was gained back in [#82783](https://github.com/rust-lang/rust/issues/82783).

#### Nags requiring follow up

No nags for this week and the nag from last week has been resolved by [#81458](https://github.com/rust-lang/rust/pull/81458).
