2020-12-29 Triage Log

This was a quiet week as many were on winter holidays. The regressions and improvements were all minor and mostly balanced each other out.

Triage done by @rylev. Revision range: c34c015fe2710caf53ba7ae9d1644f9ba65a6f74..e2a2592885539ca97bfb1232669e7519a0c0703b

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

Regressions

validate promoteds #80235

  • Moderate regression in instruction counts (up to 4.8% on full builds of ucd-check)
  • Turn on const-value validation for promoteds.
  • In the PR there is a discussion if this change should instead only be a debug assertion. This should be discussed after a crater run happens.

BTreeMap: respect pointer provenance rules in split_off #79347

  • Moderate regression in instruction counts (up to 2.9% on full builds of cranelift-codegen-opt)
  • The minor perf regressions introduced here seemed to be gained back by #79520

Improvements

Remove pointer comparison from slice equality #80209

  • Moderate improvement in instruction counts (up to -3.1% on incr-full builds of encoding-opt)
  • Removed eagerly testing pointer equality in slices since most of the time slices won't be compared with themselves. This leads to an improvement in the code gen.

BTreeMap: clean up access to MaybeUninit arrays #79520

  • Moderate improvement in instruction counts (up to -3.1% on full builds of cranelift-codegen-opt)
  • The minor perf gains seem to be regaining perfomance lost by #79347

Nags requiring follow up

  • stdarch is still a major contributor to libcore compile times.