A number of improvements on various benchmarks. The most notable news this week in compiler performance is the progress on instruction metric collection on a per-query level; see measureme#143 for the latest.
Otherwise, this week was an excellent one for performance (though mostly on stress tests rather than commonly seen code).
Triage done by @simulacrum. Revision range: 824f900a96d752da2d882863c65f9736e5f2b347..5cdf5b882da9e8b7c73b5cadeb7745cb68f6ff63
0 Regressions, 5 Improvements, 0 Mixed
- Slight improvement in instruction counts (up to -1.3% on
incr-unchanged
builds ofpacked-simd-check
) - Possibly within noise; unclear.
- Moderate improvement in instruction counts (up to -2.0% on
incr-unchanged
builds ofpacked-simd-check
)
- Large improvement in instruction counts (up to -5.7% on
full
builds ofmatch-stress-enum-check
) - An unexpected improvement for a seemingly bugfix PR; would be good to verify this is not an unintentional behavior change (nag left).
- Very large improvement in instruction counts (up to -10.1% on
full
builds ofmatch-stress-enum-check
)
- Very large improvement in instruction counts (up to -95.4% on
full
builds ofexterns-debug
) - Notable case of adding a new benchmark to perf; this is much appreciated and illustrates that perf does not yet have full coverage of Rust code (though this is not really expected either, though is always a goal).
- Very large improvement in instruction counts (up to -23.6% on
incr-patched: println
builds ofunicode_normalization-check
) - Fairly large refactor to the match checking infrastructure, with a correspondigly large performance improvement. There does appear to be a slight regression on #58319, but this is in the "Improvements" category since it seem categorically a win.
Compiler team attention requested: