|
| 1 | +--- |
| 2 | +tags: weekly, rustc |
| 3 | +type: docs |
| 4 | +note_id: GbNOsH56RWudQ4drStxBHQ |
| 5 | +--- |
| 6 | + |
| 7 | +# T-compiler Meeting Agenda 2024-01-04 |
| 8 | + |
| 9 | +## Announcements |
| 10 | + |
| 11 | +- Reminder: if you see a PR/issue that seems like there might be legal implications due to copyright/IP/etc, please let us know (or at least message @_**davidtwco** or @_**Wesley Wiser** so we can pass it along). |
| 12 | + |
| 13 | +### Other WG meetings ([calendar link](https://calendar.google.com/calendar/embed?src=6u5rrtce6lrtv07pfi3damgjus%40group.calendar.google.com)) |
| 14 | +- No meetings scheduled for next week |
| 15 | + |
| 16 | +## MCPs/FCPs |
| 17 | + |
| 18 | +- New MCPs (take a look, see if you like them!) |
| 19 | + - "Start using clippy on rustc" [compiler-team#709](https://github.com/rust-lang/compiler-team/issues/709) |
| 20 | + - "Promote tier 3 `*-pc-windows-gnullvm` targets to tier 2" [compiler-team#710](https://github.com/rust-lang/compiler-team/issues/710) |
| 21 | + |
| 22 | +### WG checkins |
| 23 | + |
| 24 | +No checkins this week |
| 25 | + |
| 26 | +## Backport nominations |
| 27 | + |
| 28 | +[T-compiler stable](https://github.com/rust-lang/rust/issues?q=is%3Aall+label%3Abeta-nominated+-label%3Abeta-accepted+label%3AT-compiler) / [T-compiler beta](https://github.com/rust-lang/rust/issues?q=is%3Aall+label%3Astable-nominated+-label%3Astable-accepted+label%3AT-compiler) |
| 29 | +- [beta] Fix: Properly set vendor in i686-win7-windows-msvc target" [rustc#119544](https://github.com/rust-lang/rust/pull/119544) |
| 30 | +- No stable nominations for `T-compiler` this time. |
| 31 | + |
| 32 | +[T-types stable](https://github.com/rust-lang/rust/issues?q=is%3Aall+label%3Abeta-nominated+-label%3Abeta-accepted+label%3AT-types) / [T-types beta](https://github.com/rust-lang/rust/issues?q=is%3Aall+label%3Astable-nominated+-label%3Astable-accepted+label%3AT-types) |
| 33 | +- No beta nominations for `T-types` this time. |
| 34 | +- No stable nominations for `T-types` this time. |
| 35 | + |
| 36 | +## PRs S-waiting-on-team |
| 37 | + |
| 38 | +[T-compiler](https://github.com/rust-lang/rust/pulls?q=is%3Aopen+label%3AS-waiting-on-team+label%3AT-compiler) |
| 39 | +- Other issues [in progress or waiting on other teams](https://hackmd.io/XYr1BrOWSiqCrl8RCWXRaQ) |
| 40 | + |
| 41 | +## Issues of Note |
| 42 | + |
| 43 | +### Short Summary |
| 44 | + |
| 45 | +- [0 T-compiler P-critical issues](https://github.com/rust-lang/rust/issues?q=is%3Aopen+label%3AT-compiler+label%3AP-critical) |
| 46 | + - [0 of those are unassigned](https://github.com/rust-lang/rust/issues?q=is%3Aopen+label%3AT-compiler+label%3AP-critical+no%3Aassignee) |
| 47 | +- [60 T-compiler P-high issues](https://github.com/rust-lang/rust/issues?q=is%3Aopen+label%3AT-compiler+label%3AP-high) |
| 48 | + - [31 of those are unassigned](https://github.com/rust-lang/rust/issues?q=is%3Aopen+label%3AT-compiler+label%3AP-high+no%3Aassignee) |
| 49 | +- [0 P-critical, 1 P-high, 3 P-medium, 0 P-low regression-from-stable-to-beta](https://github.com/rust-lang/rust/labels/regression-from-stable-to-beta) |
| 50 | +- [0 P-critical, 0 P-high, 2 P-medium, 2 P-low regression-from-stable-to-nightly](https://github.com/rust-lang/rust/labels/regression-from-stable-to-nightly) |
| 51 | +- [0 P-critical, 41 P-high, 100 P-medium, 18 P-low regression-from-stable-to-stable](https://github.com/rust-lang/rust/labels/regression-from-stable-to-stable) |
| 52 | + |
| 53 | +### P-critical |
| 54 | + |
| 55 | +[T-compiler](https://github.com/rust-lang/rust/issues?q=is%3Aopen+label%3AP-critical+label%3AT-compiler) |
| 56 | +- No `P-critical` issues for `T-compiler` this time. |
| 57 | + |
| 58 | +[T-types](https://github.com/rust-lang/rust/issues?q=is%3Aopen+label%3AP-critical+label%3AT-types) |
| 59 | +- No `P-critical` issues for `T-types` this time. |
| 60 | + |
| 61 | +### P-high regressions |
| 62 | + |
| 63 | +[P-high beta regressions](https://github.com/rust-lang/rust/issues?q=is%3Aopen+label%3Aregression-from-stable-to-beta+label%3AP-high+-label%3AT-infra+-label%3AT-libs+-label%3AT-libs-api+-label%3AT-release+-label%3AT-rustdoc+-label%3AT-core) |
| 64 | +- "🐛 Symbol multiply defined since nightly-2023-12-02 with custom builtins." [rust#118609](https://github.com/rust-lang/rust/issues/118609) |
| 65 | + |
| 66 | +[Unassigned P-high nightly regressions](https://github.com/rust-lang/rust/issues?q=is%3Aopen+label%3Aregression-from-stable-to-nightly+label%3AP-high+no%3Aassignee+-label%3AT-infra+-label%3AT-libs+-label%3AT-libs-api+-label%3AT-release+-label%3AT-rustdoc+-label%3AT-core+) |
| 67 | +- No unassigned `P-high` nightly regressions this time. |
| 68 | + |
| 69 | +## Performance logs |
| 70 | + |
| 71 | +> [triage logs for 2024-01-02](https://github.com/rust-lang/rustc-perf/blob/master/triage/2024-01-02.md) |
| 72 | +
|
| 73 | +Overall, this week had very few regressions and a moderate amount of improvements. The two biggest improvements came in how metadata was being encoded including a change to only store StableCrateId once in DefPathTable which yielded a 0.3% average improvement across 79 different benchmarks. |
| 74 | + |
| 75 | +Triage done by **@rylev**. |
| 76 | +Revision range: [1ab783112..67b6975](https://perf.rust-lang.org/?start=1ab783112ab4e4807304dbd249b39771246013ef&end=67b6975051b83ef2bd28f06e8467470d570aceb3&absolute=false&stat=instructions%3Au) |
| 77 | + |
| 78 | +**Summary**: |
| 79 | + |
| 80 | +| (instructions:u) | mean | range | count | |
| 81 | +|:------------------------:|:-----:|:---------------:|:-----:| |
| 82 | +| Regressions (primary) | 0.7% | [0.3%, 1.5%] | 8 | |
| 83 | +| Regressions (secondary) | 0.8% | [0.2%, 1.3%] | 23 | |
| 84 | +| Improvements (primary) | -0.6% | [-2.6%, -0.2%] | 121 | |
| 85 | +| Improvements (secondary) | -5.2% | [-62.5%, -0.2%] | 53 | |
| 86 | +| All (primary) | -0.5% | [-2.6%, 1.5%] | 129 | |
| 87 | + |
| 88 | + |
| 89 | +2 Regressions, 3 Improvements, 1 Mixed; 0 of them in rollups |
| 90 | +46 artifact comparisons made in total |
| 91 | + |
| 92 | +#### Regressions |
| 93 | + |
| 94 | +Emit better suggestions for `&T == T` and `T == &T` [#118431](https://github.com/rust-lang/rust/pull/118431) [(Comparison Link)](https://perf.rust-lang.org/compare.html?start=deace71034d4940d064619882e0297c4ad858b2e&end=2df6406b886757a3c1475957660a3a4ae6c786de&stat=instructions:u) |
| 95 | + |
| 96 | +| (instructions:u) | mean | range | count | |
| 97 | +|:------------------------:|:-----:|:--------------:|:-----:| |
| 98 | +| Regressions (primary) | 24.0% | [18.1%, 29.5%] | 3 | |
| 99 | +| Regressions (secondary) | - | - | 0 | |
| 100 | +| Improvements (primary) | - | - | 0 | |
| 101 | +| Improvements (secondary) | - | - | 0 | |
| 102 | +| All (primary) | 24.0% | [18.1%, 29.5%] | 3 | |
| 103 | +- Blip in the perf infrastructure that was reversed in the [next run](https://perf.rust-lang.org/compare.html?start=2df6406b886757a3c1475957660a3a4ae6c786de&end=eee93d839654def74bee9c98c4e7785d29d993cb&stat=instructions:u) |
| 104 | + |
| 105 | + |
| 106 | +rustc_lint: Enforce `rustc::potential_query_instability` lint [#119251](https://github.com/rust-lang/rust/pull/119251) [(Comparison Link)](https://perf.rust-lang.org/compare.html?start=67b6975051b83ef2bd28f06e8467470d570aceb3&end=e51e98dde6a60637b6a71b8105245b629ac3fe77&stat=instructions:u) |
| 107 | + |
| 108 | +| (instructions:u) | mean | range | count | |
| 109 | +|:------------------------:|:----:|:------------:|:-----:| |
| 110 | +| Regressions (primary) | 0.2% | [0.2%, 0.3%] | 2 | |
| 111 | +| Regressions (secondary) | 0.3% | [0.2%, 0.4%] | 8 | |
| 112 | +| Improvements (primary) | - | - | 0 | |
| 113 | +| Improvements (secondary) | - | - | 0 | |
| 114 | +| All (primary) | 0.2% | [0.2%, 0.3%] | 2 | |
| 115 | +- Small regression that might just be worth it. There is discussion in [#119488](https://github.com/rust-lang/rust/pull/119488) on whether to do a partial revert, but so far the argument is being made to just accept the small regression. |
| 116 | + |
| 117 | + |
| 118 | +#### Improvements |
| 119 | + |
| 120 | +Suggest `=` to `==` in more cases, even in the face of reference mismatch [#119328](https://github.com/rust-lang/rust/pull/119328) [(Comparison Link)](https://perf.rust-lang.org/compare.html?start=2df6406b886757a3c1475957660a3a4ae6c786de&end=eee93d839654def74bee9c98c4e7785d29d993cb&stat=instructions:u) |
| 121 | + |
| 122 | +| (instructions:u) | mean | range | count | |
| 123 | +|:------------------------:|:------:|:----------------:|:-----:| |
| 124 | +| Regressions (primary) | - | - | 0 | |
| 125 | +| Regressions (secondary) | - | - | 0 | |
| 126 | +| Improvements (primary) | -19.2% | [-22.7%, -15.3%] | 3 | |
| 127 | +| Improvements (secondary) | - | - | 0 | |
| 128 | +| All (primary) | -19.2% | [-22.7%, -15.3%] | 3 | |
| 129 | +- Reversal of perf infrastructure blip in previous run |
| 130 | + |
| 131 | + |
| 132 | +Only store StableCrateId once in DefPathTable. [#119259](https://github.com/rust-lang/rust/pull/119259) [(Comparison Link)](https://perf.rust-lang.org/compare.html?start=1a7e97f1ef3ce44f060f338c79d7dcbfb91bbc8a&end=dc450f9dcb243368275598b506d04a54d7019a42&stat=instructions:u) |
| 133 | + |
| 134 | +| (instructions:u) | mean | range | count | |
| 135 | +|:------------------------:|:-----:|:--------------:|:-----:| |
| 136 | +| Regressions (primary) | 0.8% | [0.8%, 0.8%] | 1 | |
| 137 | +| Regressions (secondary) | - | - | 0 | |
| 138 | +| Improvements (primary) | -0.3% | [-0.6%, -0.2%] | 78 | |
| 139 | +| Improvements (secondary) | -0.4% | [-0.6%, -0.3%] | 16 | |
| 140 | +| All (primary) | -0.3% | [-0.6%, 0.8%] | 79 | |
| 141 | + |
| 142 | + |
| 143 | +Shrink span encoding further [#119367](https://github.com/rust-lang/rust/pull/119367) [(Comparison Link)](https://perf.rust-lang.org/compare.html?start=8d76d076665f862ec9619f2de68d6d9ca1db4601&end=fe2cfd45055abfde24cb372a311095c105265236&stat=instructions:u) |
| 144 | + |
| 145 | +| (instructions:u) | mean | range | count | |
| 146 | +|:------------------------:|:-----:|:--------------:|:-----:| |
| 147 | +| Regressions (primary) | - | - | 0 | |
| 148 | +| Regressions (secondary) | - | - | 0 | |
| 149 | +| Improvements (primary) | -0.3% | [-0.5%, -0.2%] | 27 | |
| 150 | +| Improvements (secondary) | -0.5% | [-0.6%, -0.3%] | 11 | |
| 151 | +| All (primary) | -0.3% | [-0.5%, -0.2%] | 27 | |
| 152 | + |
| 153 | + |
| 154 | +#### Mixed |
| 155 | + |
| 156 | +Implement constant propagation on top of MIR SSA analysis [#116012](https://github.com/rust-lang/rust/pull/116012) [(Comparison Link)](https://perf.rust-lang.org/compare.html?start=03b50195ab61a0dc9fc8de43d1de92769c4e6f23&end=8d76d076665f862ec9619f2de68d6d9ca1db4601&stat=instructions:u) |
| 157 | + |
| 158 | +| (instructions:u) | mean | range | count | |
| 159 | +|:------------------------:|:------:|:---------------:|:-----:| |
| 160 | +| Regressions (primary) | 0.7% | [0.2%, 1.9%] | 10 | |
| 161 | +| Regressions (secondary) | 0.6% | [0.2%, 1.1%] | 15 | |
| 162 | +| Improvements (primary) | -0.6% | [-2.6%, -0.2%] | 26 | |
| 163 | +| Improvements (secondary) | -31.2% | [-62.1%, -0.2%] | 8 | |
| 164 | +| All (primary) | -0.2% | [-2.6%, 1.9%] | 36 | |
| 165 | +- Change has positive impacts on runtime performance and the improvements outweigh the regressions |
| 166 | + |
| 167 | + |
| 168 | +## Nominated Issues |
| 169 | + |
| 170 | +[T-compiler](https://github.com/rust-lang/rust/issues?q=is%3Aopen+label%3AI-compiler-nominated) |
| 171 | +- No I-compiler-nominated issues this time. |
| 172 | + |
| 173 | +[RFC](https://github.com/rust-lang/rfcs/issues?q=is%3Aopen+label%3AI-compiler-nominated) |
| 174 | +- No I-compiler-nominated RFCs this time. |
| 175 | + |
| 176 | +### Oldest PRs waiting for review |
| 177 | + |
| 178 | +None this week |
| 179 | + |
| 180 | +## Next week's WG checkins |
| 181 | + |
| 182 | +TODO |
| 183 | + |
| 184 | +Next meetings' agenda draft: [hackmd link](https://hackmd.io/9uykm3hKQkiNVxHG_w33vQ) |
0 commit comments