2021-01-05 Triage Log

Happy New Year! A slow week to start off the new year, with by far the most exciting development being the large gains in the `ctfe` benchmark caused by changes in serialization and deserialization.

Triage done by **@rylev**.
Revision range: [e2a2592885539ca97bfb1232669e7519a0c0703b..f4b9d32ef53c0629732ee131b640920ae12d1edb](https://perf.rust-lang.org/?start=e2a2592885539ca97bfb1232669e7519a0c0703b&end=f4b9d32ef53c0629732ee131b640920ae12d1edb&absolute=false&stat=instructions%3Au)

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

#### Improvements

Implement edition-based macro :pat feature [#80459](https://github.com/rust-lang/rust/issues/80459)
- Moderate improvement in [instruction counts](https://perf.rust-lang.org/compare.html?start=b33e234155b33ab6bce280fb2445b62b68622b61&end=44e3daf5eee8263dfc3a2509e78ddd1f6f783a0e&stat=instructions:u) (up to -1.7% on `incr-unchanged` builds of `deep-vector-check`)
- Fixes the perf regression from [#80100](https://github.com/rust-lang/rust/pull/80100#issuecomment-750893149)

rustc_serialize: specialize opaque encoding and decoding of some u8 sequences [#80115](https://github.com/rust-lang/rust/issues/80115)
- Very large improvement in [instruction counts](https://perf.rust-lang.org/compare.html?start=5986dd878f3e432025eb1946149e3241d3998b1b&end=929f66af9bf587383ed6010403e738e79dfac0d6&stat=instructions:u) (up to -85.1% on `incr-unchanged` builds of `ctfe-stress-4-check`)
- In rustc-serialize, specialize encoding and decoding of some contiguous u8 sequences to use a more efficient implementation.

#### Mixed

Rollup of 9 pull requests [#80530](https://github.com/rust-lang/rust/issues/80530)
- Moderate regression in [instruction counts](https://perf.rust-lang.org/compare.html?start=e2267046859c9ceb932abc983561d53a117089f6&end=9775ffef2a4c3a36cadb58b72ea60cefb92c86ae&stat=instructions:u) (up to 2.6% on `full` builds of `ripgrep-opt`)
- Moderate improvement in [instruction counts](https://perf.rust-lang.org/compare.html?start=e2267046859c9ceb932abc983561d53a117089f6&end=9775ffef2a4c3a36cadb58b72ea60cefb92c86ae&stat=instructions:u) (up to -1.5% on `incr-patched: println` builds of `cargo-debug`)
- [#78934](https://github.com/rust-lang/rust/issues/78934) was responsible for the issue. An investigation into what exactly is the cause will happen, but the regression is not severe enough to warrant a revert.

Rollup of 12 pull requests [#80708](https://github.com/rust-lang/rust/issues/80708)
- Large regression in [instruction counts](https://perf.rust-lang.org/compare.html?start=9919ad6e9ed113557c68c430de2e0f434e4f5b6e&end=f412fb56b8d11c168e7ee49ee74e79c4ab2e5637&stat=instructions:u) (up to 5.9% on `incr-unchanged` builds of `deeply-nested-async-check`)
- Moderate improvement in [instruction counts](https://perf.rust-lang.org/compare.html?start=9919ad6e9ed113557c68c430de2e0f434e4f5b6e&end=f412fb56b8d11c168e7ee49ee74e79c4ab2e5637&stat=instructions:u) (up to -1.4% on `full` builds of `coercions-debug`)
- The regression outweighs the improvement
- [#80538](https://github.com/rust-lang/rust/issues/80538) was responsible for the issue. An investigation into what exactly is the cause will happen, but the regression is not severe enough to warrant a revert.

#### Nags requiring follow up

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