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](https://perf.rust-lang.org/?start=c34c015fe2710caf53ba7ae9d1644f9ba65a6f74&end=e2a2592885539ca97bfb1232669e7519a0c0703b&absolute=false&stat=instructions%3Au)

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

#### Regressions

validate promoteds [#80235](https://github.com/rust-lang/rust/issues/80235)
- Moderate regression in [instruction counts](https://perf.rust-lang.org/compare.html?start=1832bdd7de93573464e1536e3ea17d5fd7d2888b&end=bb178237c5539c75e1b85ab78a8ab902b1f333d5&stat=instructions:u) (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](https://github.com/rust-lang/rust/issues/79347)
- Moderate regression in [instruction counts](https://perf.rust-lang.org/compare.html?start=0edce6f4bbb4514482537f569f0b8ef48e71e0a0&end=2c308b9a2a9b9d531cafa3f11cb1000ee5362e63&stat=instructions:u) (up to 2.9% on `full` builds of `cranelift-codegen-opt`)
- The minor perf regressions introduced here seemed to be gained back by [#79520](https://github.com/rust-lang/rust/issues/79520)

#### Improvements

Remove pointer comparison from slice equality [#80209](https://github.com/rust-lang/rust/issues/80209)
- Moderate improvement in [instruction counts](https://perf.rust-lang.org/compare.html?start=d30dac2d839293f2c48e18ebfea1082819115d08&end=780b094d767b6720c11b1bf145dac2cf2643b89e&stat=instructions:u) (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](https://github.com/rust-lang/rust/issues/79520)
- Moderate improvement in [instruction counts](https://perf.rust-lang.org/compare.html?start=30a42735a0ff678172f66f63aca746096a717293&end=89524d0f8e28080197a85e06d143b7d6f131b67e&stat=instructions:u) (up to -3.1% on `full` builds of `cranelift-codegen-opt`)
- The minor perf gains seem to be regaining perfomance lost by [#79347](https://github.com/rust-lang/rust/issues/79347)


#### Nags requiring follow up

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

