2021-04-01 Triage Log
A somewhat negative weak for performance where regressions outweigh improvements. Sadly, a lot of the regressions don't seem very straight-forward to understand, and so more investigation will be necessary.
Triage done by @rylev. Revision range: 9b6339e4b9747d473270baa42e77e1d2fff39bf4..4896450e7e0a522486b4d3a8d360ac4e1d2072a0
2 Regressions, 2 Improvements, 3 Mixed 2 of them in rollups
Regressions
implement feature(const_generics_defaults)
#75384
- Moderate regression in instruction counts (up to 1.1% on
incr-unchanged
builds of ucd-check
) - A small regression in incremental compilation in one particular benchmark
ucd
. The query affected is generate_crate_metadata
which tracks with the fact that incremental compilation is affected. - A quick scan of the changes doesn't reveal anything suspicious as encoding of metadata has changed only a little bit and should only be impacted when encoding something with default const generics.
Use EvaluatedToOkModuloRegions
whenever we erase regions #83220
- Moderate regression in instruction counts (up to 1.8% on
full
builds of hyper-2-check
) - A moderate regression in trait obligation evaluation which this code directly impacts.
- A performance run was performed, but the impact was deemed acceptable. The author and reviewer were pinged about why the performance is acceptable.
Refactor Binder
to track bound vars #76814
- Moderate regression in instruction counts (up to 3.9% on
incr-unchanged
builds of externs-check
) - Moderate regression in trait resolution queries which this code directly impacts. While a performance run was made, it was never discussed in the PR. The author and reviewer were pinged.
Improvements
Rollup of 9 pull requests #83432
Rollup of 8 pull requests #83580
Mixed
Remove assignments to ZST places instead of marking ZST return place as unused #83177
- Moderate regression in instruction counts (up to 3.1% on
incr-patched: b9b3e592dd cherry picked
builds of style-servo-debug
) - Moderate improvement in instruction counts (up to -1.1% on
incr-full
builds of externs-debug
) - Perf regression is mainly in LLVM caused most likely by LLVM now being able to perf optimizations it could not previously. It's unclear why the regression occurred though.
Import small cold functions #82980
- Moderate regression in instruction counts (up to 4.7% on
incr-unchanged
builds of deeply-nested-async-check
) - Moderate improvement in instruction counts (up to -2.3% on
full
builds of ctfe-stress-4-opt
) - I am unsure of the overall cost/benefit analysis of this change and have pinged the author and reviewer about it.
Reduce the impact of Vec::reserve calls that do not cause any allocation #83357
- Moderate regression in instruction counts (up to 3.1% on
incr-unchanged
builds of webrender-wrench-opt
) - Moderate improvement in instruction counts (up to -2.2% on
incr-unchanged
builds of ucd-check
) - It is often hard to track how changes in the standard library impact performance. The author and reviewer were pinged for their perspective.
Nags requiring follow up
- The issue from two weeks ago has stalled.
- Follow-ups from this week: