2021-02-16 Triage Log
A mostly quiet week, though with an excellent improvement in bootstrap times, shaving off a couple percent off the total and 10% off of rustc_middle due to changes in the code being compiled.
Triage done by @simulacrum. Revision range: ea098255f74923d69ea234ee526df6b9cecc3b9b..f1c47c79fe8438ed241630f885797eebef3a6cab
1 Regressions, 2 Improvements, 1 Mixed
Regressions
Initialize BTree nodes directly in the heap #81494
- Moderate regression in instruction counts (up to 1.3% on
full
builds of cargo-debug
) - Not really expected, but this is aiming for optimizing initialization of large k/v pairs, so perhaps worth it. Left a nag.
Improvements
[experiment] remove #[inline]
from rustc_query_system::plumbing #81892
- Moderate improvement in instruction counts (up to -1.0% on
full
builds of ctfe-stress-4-opt
)
directly expose copy and copy_nonoverlapping intrinsics #81238
- Moderate improvement in instruction counts (up to -2.2% on
incr-patched: u32 3072
builds of issue-46449-debug
) - Surprisingly large improvement from essentially removing a function wrapper, seems pretty unfortunate that this is the case. May have something to do with MIR opts not triggering on these intrinsics when they were previously wrapped.
Mixed
Check the result cache before the DepGraph when ensuring queries #81855
- Moderate regression in instruction counts (up to 2.3% on
full
builds of unused-warnings-check
) - Moderate improvement in instruction counts (up to -1.0% on
incr-unchanged
builds of clap-rs-check
) - Major improvement in rustc_middle compile times (10% win), but benchmarks are regressed across the board pretty much, and this is surprising as PR perf showed a decisive win. Left a nag to ask for reasons why this might be.
Nags requiring follow up
Investigations pending:
From last week:
- Waiting on more investigation in #81476.
- Need to follow up on the regressions reported this week.