diff --git a/triage/2021-01-05.md b/triage/2021-01-05.md new file mode 100644 index 000000000..f2f8acc7c --- /dev/null +++ b/triage/2021-01-05.md @@ -0,0 +1,37 @@ +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`) +- Unsure which PRs were responsible for the performance impact, but we suspect [#80458](https://github.com/rust-lang/rust/pull/80458). + +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 +- Unsure which PR is the cause of the regression, but [#80637](https://github.com/rust-lang/rust/pull/80637) is our best guess. + +#### Nags requiring follow up + +- stdarch is still a major contributor to libcore compile times. +- Investigate the two rollups that had perf impacts [#80530](https://github.com/rust-lang/rust/issues/80530) and [#80708](https://github.com/rust-lang/rust/pull/80708).