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

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

Regressions

Make copy/copy_nonoverlapping fn's again #86003

  • Moderate regression in instruction counts (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.

Improvements

Update cargo #86207

  • Moderate improvement in instruction counts (up to -1.2% on full builds of deep-vector-debug)

Pretty print generator witness only in -Zverbose mode #86240

  • Very large improvement in instruction counts (up to -75.8% on incr-full builds of deeply-nested-async-opt)
  • Moderate regression in instruction counts (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
  • Follow up to regression in #86003.