|
| 1 | +# 2022-03-01 Triage Log |
| 2 | + |
| 3 | +A relatively noisy week in performance measurements, particularly on the |
| 4 | +`externs` incremental benchmark. Based on the timing of the first noise, this |
| 5 | +seems to be due to [#93839], which makes me suspect this is related to PGO or |
| 6 | +inlining decisions of some kind. [#94373] might help. |
| 7 | + |
| 8 | +Overall a relatively unchanged to slightly good week, with no outright regressions and most |
| 9 | +changes relatively small. |
| 10 | + |
| 11 | +[#93839]: https://github.com/rust-lang/rust/pull/93839 |
| 12 | +[#94373]: https://github.com/rust-lang/rust/pull/94373 |
| 13 | + |
| 14 | +Triage done by **@simulacrum**. |
| 15 | +Revision range: [1204400ab8da9830f6f77a5e40e7ad3ea459676a..f0c4da49983aa699f715caf681e3154b445fb60b](https://perf.rust-lang.org/?start=1204400ab8da9830f6f77a5e40e7ad3ea459676a&end=f0c4da49983aa699f715caf681e3154b445fb60b&absolute=false&stat=instructions%3Au) |
| 16 | + |
| 17 | +0 Regressions, 5 Improvements, 6 Mixed; 2 of them in rollups |
| 18 | +43 comparisons made in total |
| 19 | + |
| 20 | +#### Regressions |
| 21 | + |
| 22 | +- No regressions this week. |
| 23 | + |
| 24 | +#### Improvements |
| 25 | + |
| 26 | +At opt-level=0, apply only ABI-affecting attributes to functions [#94127](https://github.com/rust-lang/rust/issues/94127) |
| 27 | +- Arithmetic mean of relevant improvements: -1.2% |
| 28 | +- Largest improvement in [instruction counts](https://perf.rust-lang.org/compare.html?start=d5a9bc947617babe3833458f3e09f3d6d5e3d736&end=8128e910c0b4046afd0a1ef818b60082903bae03&stat=instructions:u): -3.9% on `incr-patched: Job` builds of `regex debug` |
| 29 | + |
| 30 | +Make TLS `__getit` #[inline(always)] on non-Windows [#94373](https://github.com/rust-lang/rust/issues/94373) |
| 31 | +- Largest improvement in [instruction counts](https://perf.rust-lang.org/compare.html?start=761e8884858759b21f3374ad610494e68c087a38&end=035a717ee8bf548868fb50b5c7ca562fc4a657a7&stat=instructions:u): -3.0% on `incr-patched: b9b3e592dd cherry picked` builds of `style-servo debug` |
| 32 | +- Tries to tackle some of the noise we've been seeing in the `externs` |
| 33 | + benchmarks. |
| 34 | + |
| 35 | +Avoid query cache sharding code in single-threaded mode [#94084](https://github.com/rust-lang/rust/issues/94084) |
| 36 | +- Arithmetic mean of relevant regressions: 1.1% |
| 37 | +- Arithmetic mean of relevant improvements: -0.8% |
| 38 | +- Arithmetic mean of all relevant changes: -0.6% |
| 39 | +- Largest improvement in [instruction counts](https://perf.rust-lang.org/compare.html?start=bab4c13f64b4197abc1a361796be9940ed5b3904&end=3b1fe7e7c95e14dd8a420edf2f8a160c70211e04&stat=instructions:u): -2.3% on `full` builds of `keccak check` |
| 40 | +- Primarily focused on bootstrap time improvement, rather than perf improvements |
| 41 | + to benchmarks, but helps slightly with both. |
| 42 | + |
| 43 | +Apply noundef attribute to all scalar types which do not permit raw init [#94157](https://github.com/rust-lang/rust/issues/94157) |
| 44 | +- Arithmetic mean of relevant improvements: -1.0% |
| 45 | +- Largest improvement in [instruction counts](https://perf.rust-lang.org/compare.html?start=6a705566166debf5eff88c57140df607fa409aaa&end=9fbff89354ba7a4ec2d1191a3f405cbe408370f6&stat=instructions:u): -1.7% on `incr-full` builds of `coercions debug` |
| 46 | +- This may also be noise; the `externs` and `coercions` benchmark are both |
| 47 | + typically relatively noisy. |
| 48 | + |
| 49 | +rustc_errors: let `DiagnosticBuilder::emit` return a "guarantee of emission". [#93368](https://github.com/rust-lang/rust/issues/93368) |
| 50 | +- Arithmetic mean of all relevant changes: -0.5% |
| 51 | +- Largest improvement in [instruction counts](https://perf.rust-lang.org/compare.html?start=4e82f35492ea5c78e19609bf4468f0a686d9a756&end=d4de1f230ca30b7ce08fbf453daebf8b2e7ffcc9&stat=instructions:u): -0.5% on `full` builds of `deeply-nested-async debug` |
| 52 | +- Improvements in bootstrap time, but not a significant change in compile times |
| 53 | + otherwise. |
| 54 | + |
| 55 | +#### Mixed |
| 56 | + |
| 57 | +Back more metadata using per-query tables [#94129](https://github.com/rust-lang/rust/issues/94129) |
| 58 | +- Arithmetic mean of relevant regressions: 0.8% |
| 59 | +- Arithmetic mean of relevant improvements: -0.6% |
| 60 | +- Arithmetic mean of all relevant changes: -0.5% |
| 61 | +- Largest improvement in [instruction counts](https://perf.rust-lang.org/compare.html?start=1204400ab8da9830f6f77a5e40e7ad3ea459676a&end=7ccfe2ff1d59666dc0188dfd5847304fec257565&stat=instructions:u): -1.0% on `full` builds of `wf-projection-stress-65510 doc` |
| 62 | +- Largest regression in [instruction counts](https://perf.rust-lang.org/compare.html?start=1204400ab8da9830f6f77a5e40e7ad3ea459676a&end=7ccfe2ff1d59666dc0188dfd5847304fec257565&stat=instructions:u): 0.9% on `incr-unchanged` builds of `externs opt` |
| 63 | + |
| 64 | + |
| 65 | +Rollup of 9 pull requests [#94333](https://github.com/rust-lang/rust/issues/94333) |
| 66 | +- Arithmetic mean of relevant regressions: 0.8% |
| 67 | +- Arithmetic mean of relevant improvements: -5.9% |
| 68 | +- Arithmetic mean of all relevant changes: -3.3% |
| 69 | +- Largest improvement in [instruction counts](https://perf.rust-lang.org/compare.html?start=4b043faba34ccc053a4d0110634c323f6c03765e&end=4e82f35492ea5c78e19609bf4468f0a686d9a756&stat=instructions:u): -14.4% on `incr-unchanged` builds of `encoding check` |
| 70 | +- Largest regression in [instruction counts](https://perf.rust-lang.org/compare.html?start=4b043faba34ccc053a4d0110634c323f6c03765e&end=4e82f35492ea5c78e19609bf4468f0a686d9a756&stat=instructions:u): 1.1% on `incr-patched: println` builds of `cargo opt` |
| 71 | + |
| 72 | +Use undef for (some) partially-uninit constants [#94130](https://github.com/rust-lang/rust/issues/94130) |
| 73 | +- Arithmetic mean of relevant regressions: 0.7% |
| 74 | +- Arithmetic mean of relevant improvements: -1.9% |
| 75 | +- Arithmetic mean of all relevant changes: -0.1% |
| 76 | +- Largest improvement in [instruction counts](https://perf.rust-lang.org/compare.html?start=f6a79936da30702b1c717769a2d12dffbad6d30a&end=ece55d416e65256e4da274988651c20e5d5cb4ea&stat=instructions:u): -2.9% on `full` builds of `ctfe-stress-4 opt` |
| 77 | +- Largest regression in [instruction counts](https://perf.rust-lang.org/compare.html?start=f6a79936da30702b1c717769a2d12dffbad6d30a&end=ece55d416e65256e4da274988651c20e5d5cb4ea&stat=instructions:u): 0.9% on `incr-unchanged` builds of `externs opt` |
| 78 | + |
| 79 | +Caching the stable hash of Ty within itself [#94299](https://github.com/rust-lang/rust/issues/94299) |
| 80 | +- Arithmetic mean of relevant regressions: 0.9% |
| 81 | +- Arithmetic mean of relevant improvements: -1.2% |
| 82 | +- Arithmetic mean of all relevant changes: -1.0% |
| 83 | +- Largest improvement in [instruction counts](https://perf.rust-lang.org/compare.html?start=4ce3749235fc31d15ebd444b038a9877e8c700d7&end=8d6f527530f4ba974d922269267fe89050188789&stat=instructions:u): -9.6% on `incr-unchanged` builds of `clap-rs check` |
| 84 | +- Largest regression in [instruction counts](https://perf.rust-lang.org/compare.html?start=4ce3749235fc31d15ebd444b038a9877e8c700d7&end=8d6f527530f4ba974d922269267fe89050188789&stat=instructions:u): 1.3% on `incr-full` builds of `deeply-nested check` |
| 85 | + |
| 86 | +Revert "Auto merge of #92419 - erikdesjardins:coldland, r=nagisa" [#94402](https://github.com/rust-lang/rust/issues/94402) |
| 87 | +- Arithmetic mean of relevant regressions: 0.7% |
| 88 | +- Arithmetic mean of relevant improvements: -1.7% |
| 89 | +- Arithmetic mean of all relevant changes: 0.5% |
| 90 | +- Largest improvement in [instruction counts](https://perf.rust-lang.org/compare.html?start=6e5a6ffb14fc47051b0a23410c681ad6e4af045f&end=4a56cbec59903a830a5fc06c5c81956de4199584&stat=instructions:u): -3.8% on `full` builds of `ripgrep opt` |
| 91 | +- Largest regression in [instruction counts](https://perf.rust-lang.org/compare.html?start=6e5a6ffb14fc47051b0a23410c681ad6e4af045f&end=4a56cbec59903a830a5fc06c5c81956de4199584&stat=instructions:u): 3.3% on `full` builds of `syn opt` |
| 92 | + |
| 93 | +Rollup of 7 pull requests [#94469](https://github.com/rust-lang/rust/issues/94469) |
| 94 | +- Arithmetic mean of relevant regressions: 0.3% |
| 95 | +- Arithmetic mean of relevant improvements: -0.8% |
| 96 | +- Arithmetic mean of all relevant changes: 0.0% |
| 97 | +- Largest improvement in [instruction counts](https://perf.rust-lang.org/compare.html?start=8d6f527530f4ba974d922269267fe89050188789&end=6343edfa11c80ffed02de7e059178d4c1637ecdb&stat=instructions:u): -0.9% on `incr-unchanged` builds of `externs debug` |
| 98 | +- Largest regression in [instruction counts](https://perf.rust-lang.org/compare.html?start=8d6f527530f4ba974d922269267fe89050188789&end=6343edfa11c80ffed02de7e059178d4c1637ecdb&stat=instructions:u): 0.3% on `full` builds of `await-call-tree doc` |
| 99 | +- Regression across multiple doc benchmarks. |
0 commit comments