2021-07-20 Triage Log

A mixed week, with some moderate regressions and moderate improvements. (I am personally wondering whether style-servo-debug needs to have a larger individual threshold for signalling a regression.) There were some notable PR's that were specifically oriented around performance enhancements.

Triage done by @pnkfelix. Revision range: 5aff6dd07a562a2cba3c57fc3460a72acb6bef46..5c0ca08c662399c1c864310d1a20867d3ab68027

3 Regressions, 3 Improvements, 3 Mixed; 1 of them in rollups

Regressions

Replace associated item bound vars with placeholders when projecting #86993

  • Moderate regression in instruction counts (up to 1.5% on incr-patched: b9b3e592dd cherry picked builds of style-servo-debug)
  • A perf run was done on the PR originally. The regression flagged here seems to be on a different set of benchmarks: style-servo-debug and wf-projection-stress-65510-*, neither of which was flagged as a regression in the original runs.
  • Results overall seem pretty mixed and hard to interpret. Left a comment on the PR.

Remove special case for ExprKind::Paren in MutVisitor #87284

  • Moderate regression in instruction counts (up to 1.0% on full builds of coercions-debug)
  • This is on the borderline for “significant regression”, and was the only regression associated with this PR.
  • Also, coercions-debug seems like it has a noisy history (that‘s pnkfelix’s opinion from eyeballing it; it has also a single “?” on its comparison line.)

Better diagnostics with mismatched types due to implicit static lifetime #87244

  • Moderate regression in instruction counts (up to 1.2% on full builds of stm32f4-check)
  • Widespread regressions that exceed the 0.2% threshold for non-noisy benchmarks.
  • Left a comment asking if this was expected. But I suspect the situation does not warrant additional investment of effort, assuming there's no trivial fix identifiable from the PR author.

Improvements

Rollup of 6 pull requests #87118

  • Moderate improvement in instruction counts (up to -1.9% on full builds of deeply-nested-async-check)

Make expansions stable for incr. comp. #86676

Some perf optimizations and logging #87203

  • Very large improvement in instruction counts (up to -21.7% on full builds of deeply-nested-async-check)

Mixed

Cache expansion hash globally #87044

  • Moderate regression in instruction counts (up to 1.9% on full builds of deeply-nested-async-check)
  • Moderate improvement in instruction counts (up to -1.4% on incr-unchanged builds of inflate-check)
  • This was an improvement for a lot of incremental cases, and a regression for a few full-compilation cases: deeply-nested-async-{check,debug,opt}, and coercions-debug.
  • It seems like these results were expected, and they make sense given the nature of the PR.

Update Rust Float-Parsing Algorithms to use the Eisel-Lemire algorithm. #86761

  • Moderate regression in instruction counts (up to 3.2% on incr-patched: b9b3e592dd cherry picked builds of style-servo-debug)
  • Moderate improvement in instruction counts (up to -1.4% on full builds of piston-image-opt)
  • A perf run was done on the orignal PR, but the run there did not predict the regression that was now observed to style-servo-debug when this PR landed on nightly.
  • Left a comment, but I am guessing that style-servo-debug may need a bigger noise threshold (or rather, sensitivity to perturbations) than what we currently use.

Move OnDiskCache to rustc_query_impl. #86698

  • Moderate improvement in instruction counts (up to -1.4% on incr-unchanged builds of ctfe-stress-4-check)
  • Moderate regression in instruction counts (up to 1.1% on incr-unchanged builds of deeply-nested-async-opt)
  • A perf run was done on the original PR that predicted a much better outcome here.
  • Left a comment asking PR author if they have any idea about the discrepancy.

Untriaged Pull Requests

Nags requiring follow up