2021-03-16 Triage Log

Added two benchmarks over the past week to the perf suite - diesel and stm32f4, which are intended to add to the level of tracking for rustdoc and, for both, a focus on compiler trait machinery.

Performance results for this week are mixed, but overall largely positive.

Triage done by @simulacrum. Revision range: 861872bc453bde79b83ff99d443d035225f10e87..f24ce9b0140d9be5a336954e878d0c1522966bb8

3 Regressions, 3 Improvements, 4 Mixed

0 of them in rollups

Regressions

Shorten rustc_middle::ty::mod #82964

  • Moderate regression in instruction counts (up to 4.0% on full builds of deeply-nested-check)
  • Largely limited to diesel-doc builds, but a big regression there; left a nag to followup. Likely caused by a change to inlining.

Allow calling *const methods on *mut values #82436

  • Very large regression in instruction counts (up to 11.3% on incr-full builds of packed-simd-check)
  • Unfortunate and unexpected regression. Left a nag.

Turn -Z incremental-verify-ich on by default #83007

  • Very large regression in instruction counts (up to 15.1% on incr-unchanged builds of issue-46449-debug)
  • Expected mitigation, essentially part of a soundness fix (though due to other bugs in the compiler - this just adds asserts that catches those).

Improvements

Eagerly construct bodies of THIR #82495

  • Moderate improvement in instruction counts (up to -1.7% on full builds of tuple-stress-check)

Iterate on crate_inherent_impls for metadata. #83082

  • Moderate improvement in instruction counts (up to -1.3% on incr-unchanged builds of externs-check)

Tweaks to stable hashing #83064

  • Very large improvement in instruction counts (up to -12.4% on incr-unchanged builds of ctfe-stress-4-check)

Mixed

Store HIR attributes in a side table #79519

  • Very large improvement in instruction counts (up to -44.2% on incr-patched: minor change builds of tokio-webpush-simple-debug)
  • Large regression in instruction counts (up to 5.2% on incr-unchanged builds of cranelift-codegen-check)

Enable MemorySSA in MemCpyOpt #82806

  • Very large regression in instruction counts (up to 10.6% on full builds of deep-vector-opt)
  • Large improvement in instruction counts (up to -4.9% on full builds of ctfe-stress-4-check)

Don't implement mem::replace with mem::swap. #83022

  • Very large improvement in instruction counts (up to -12.5% on incr-patched: empty 3072 builds of issue-46449-opt)
  • Moderate regression in instruction counts (up to 1.2% on incr-patched: println builds of coercions-debug)

Rebase and fixup #80493: Remove MIR assignments to ZST types #83118

  • Moderate improvement in instruction counts (up to -3.2% on full builds of ctfe-stress-4-check)
  • Moderate regression in instruction counts (up to 1.8% on incr-patched: b9b3e592dd cherry picked builds of style-servo-debug)

Nags requiring follow up