# 2021-06-16 Triage Log

The highlight of this week was a huge performance gains in some async focused benchmarks from only pretty-printing generator witness in verbose mode. This improved async heavy benchmarks by as much as 75%.

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

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

#### Regressions

Make copy/copy_nonoverlapping fn's again [#86003](https://github.com/rust-lang/rust/issues/86003)
- Moderate regression in [instruction counts](https://perf.rust-lang.org/compare.html?start=47d38752c65359e1f4558d7a06935982fb8b486f&end=eab201df7028ebb6812c0b1a01702ac6ecfcceed&stat=instructions:u) (up to 2.3% on `incr-patched: u8 3072` builds of `issue-46449-debug`)
- Regressions happening mostly in LLVM codegen which makes sense given that this moves from intrinsics to function calls which should produce more LLVM IR. 
- Follow up conversation starts [here](https://github.com/rust-lang/rust/pull/86003#issuecomment-862210554).

#### Improvements

Update cargo [#86207](https://github.com/rust-lang/rust/issues/86207)
- Moderate improvement in [instruction counts](https://perf.rust-lang.org/compare.html?start=24bdc6d73a75dce9a7013ebc7c037013ff4ea099&end=302468e71c39021df8778219e3bf9bee40e7de88&stat=instructions:u) (up to -1.2% on `full` builds of `deep-vector-debug`)

Pretty print generator witness only in `-Zverbose` mode [#86240](https://github.com/rust-lang/rust/issues/86240)
- Very large improvement in [instruction counts](https://perf.rust-lang.org/compare.html?start=da7ada584a3e5c3467b8b9f344b4a0f2a81ce32a&end=24bdc6d73a75dce9a7013ebc7c037013ff4ea099&stat=instructions:u) (up to -75.8% on `incr-full` builds of `deeply-nested-async-opt`)
- Moderate regression in [instruction counts](https://perf.rust-lang.org/compare.html?start=da7ada584a3e5c3467b8b9f344b4a0f2a81ce32a&end=24bdc6d73a75dce9a7013ebc7c037013ff4ea099&stat=instructions:u) (up to 1.3% on `full` builds of `deep-vector-debug`)
- Huge performance gains in some benchmarks with a small regression in one benchmark. It's hard to see why the regression is happening since this change is strictly less work for the compiler in all cases. This was originally classified as "mixed" but it feels more appropriate as an improvement.

#### Nags requiring follow up

* Follow up from last week on regression in [#85343](https://github.com/rust-lang/rust/pull/85343#issuecomment-856819536)
* Follow up to regression in [#86003](https://github.com/rust-lang/rust/pull/86003#issuecomment-862210554).
