2021-08-17 Triage Log

A fairly busy week which was to expected given that we've adjusted our algorithm for whether we label a change as a regression or not. Most regressions were relatively small, and only one has not yet been addressed in some way.

Triage done by @rylev. Revision range: 6b20506d17f4e5e5bf5bcad7e94add4d754b0ae3..aa8f27bf4d980023a8b245ceb25a490a18041eb2 59 comparisons made in total

3 Regressions, 2 Improvements, 2 Mixed; 0 of them in rollups

Regressions

encode generics_of for fields and ty params #87815

  • Moderate regression in instruction counts (up to 1.2% on incr-unchanged builds of diesel)
  • While the regressions are fairly small, the largest ones seem to be happening in real-world crates like diesel, serde, and futures.
  • The largest regressions seem to be in the explicit_predicates_of query which would seem to be directly impacted by this change.
  • Left a comment to see how we should address this issue.

Various refactorings of the TAIT infrastructure #87587

  • Moderate regression in instruction counts (up to 1.5% on full builds of inflate)
  • The issue is expected and is being monitored with a possible solution in the works.

Name the captured upvars for closures/generators in debuginfo #85020

  • Large regression in instruction counts (up to 4.9% on incr-patched: println builds of webrender-wrench)
  • This is a large regression in one benchmark, but it seems to be in codegen which this change would impact.
  • There is a comment justifying this as concerning but worth it given it only impacts one benchmark. I still believe this might be one worth keeping an eye on.

Improvements

Avoid using the copy_nonoverlapping wrapper through mem::replace. #87827

  • Large improvement in instruction counts (up to -2.2% on incr-patched: u8 3072 builds of issue-46449)

Run RemoveZsts pass at mir-opt-level=1 #83417

  • Large improvement in instruction counts (up to -4.3% on incr-unchanged builds of deeply-nested-async)
  • Moderate regression in instruction counts (up to 0.8% on full builds of tokio-webpush-simple)
  • Although this meets the criteria for being a mixed run, the improvements far outweigh the regressions so we'll label it as an improvement.

Mixed

Introduce hir::ExprKind::Let - Take 2 #80357

  • Large improvement in instruction counts (up to -2.1% on incr-patched: println builds of webrender)
  • Moderate regression in instruction counts (up to 0.7% on full builds of cranelift-codegen)

BTree: merge the complication introduced by #81486 and #86031 #87696

  • Small improvement in instruction counts (up to -0.6% on full builds of issue-46449)
  • Moderate regression in instruction counts (up to 1.7% on full builds of ripgrep)
  • This is mostly a wash in terms of performance (with performance shifting somewhat equally across all the benchmarks), with the largest changes happening in stress tests.

Untriaged Pull Requests