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.