2022-01-04 Triage Log

It was a relatively calm, but good week overall. Most of the gains were improvements to rustdoc running times.

Triage done by @pnkfelix. Revision range: e91ad5fc62bdee4a29c18baa5fad2ca42fc91bf4..2b681ac06b1a6b7ea39525e59363ffee0d1a68e5

1 Regressions, 6 Improvements, 1 Mixed; 0 of them in rollups 38 comparisons made in total

Regressions

rustc_metadata: Merge items from extern blocks into their parent modules during metadata encoding rather than during metadata decoding #92153

  • Small regression in instruction counts (up to 1.2% on incr-unchanged builds of deeply-nested-closures)
  • Seems like it might be noise (all of the data points are annotated with “?”).
  • Left a comment saying even if this is real, it is justifiable.

Improvements

rustdoc: Remove String allocation in iteration in print_generic_bounds #92283

  • Moderate improvement in instruction counts (up to -1.3% on full builds of futures)
  • This is an expected improvement to rustdoc

Reverts #92135 because perf regression #92291

  • Large improvement in instruction counts (up to -4.2% on full builds of keccak)
  • This did indeed recover the performance lost in the regression.

rustc_metadata: Encode list of all crate's traits into metadata #92244

  • Very large improvement in instruction counts (up to -17.1% on full builds of webrender)
  • This is an expected improvement to rustdoc

Import SourceFiles from crate before decoding foreign Span #92175

  • Very large improvement in instruction counts (up to -14.5% on incr-full builds of webrender-wrench)

Add Attribute::meta_kind #92294

Do not use LEB128 for encoding u16 and i16 #92314

  • Small improvement in instruction counts (up to -1.7% on incr-unchanged builds of helloworld)
  • Added it as a note to issue filed above.

Mixed

Mark drop calls in landing pads cold instead of noinline #92419

Untriaged Pull Requests