--- tags: weekly, rustc type: docs --- # T-compiler Meeting Agenda 2022-06-09 ## Announcements - Tomorrow <time:2022-06-10T15:00:00+02:00> Types Team: Planning/Deep-Dive, [calendar link](https://calendar.google.com/calendar/event?eid=M3JsYmdkN2F0cjdtYXE0Z2ljYzM4Nm42NTRfMjAyMjA2MTBUMTMwMDAwWiA2dTVycnRjZTZscnR2MDdwZmkzZGFtZ2p1c0Bn&ctz=GMT+02:00) - Tomorrow <time:2022-06-10T16:00:00+02:00> T-compiler steering: ~~path sanitisation changes [rfc#3127](https://github.com/rust-lang/rfcs/pull/3127)~~ 2022 Q2 P-high review [compiler-team#517](https://github.com/rust-lang/compiler-team/issues/517) , [calendar link](https://calendar.google.com/calendar/event?eid=M3JsYmdkN2F0cjdtYXE0Z2ljYzM4Nm42NTRfMjAyMjA2MTBUMTMwMDAwWiA2dTVycnRjZTZscnR2MDdwZmkzZGFtZ2p1c0Bn&ctz=GMT+02:00) - The steering meeting regarding rfc#3127 will now be a week later; see [Zulip message](https://rust-lang.zulipchat.com/#narrow/stream/238009-t-compiler.2Fmeetings/topic/.5Bplanning.20meeting.5D.202022-06-03/near/285524534) for why dates were swapped. - Reminder: if you see a PR/issue that seems like there might be legal implications due to copyright/IP/etc, please let the Core team know (or at least message @_**pnkfelix** or @_**Wesley Wiser** so we can pass it along). ### Other WG meetings ([calendar link](https://calendar.google.com/calendar/embed?src=6u5rrtce6lrtv07pfi3damgjus%40group.calendar.google.com)) - <time:2022-06-13T17:00:00+02:00> wg-rls-2.0 weekly sync-up [calendar link](https://calendar.google.com/calendar/event?eid=MXJnbzBscDExNHJjNmVsdGhsaW8xcDljMmdfMjAyMjA2MTNUMTUwMDAwWiA2dTVycnRjZTZscnR2MDdwZmkzZGFtZ2p1c0Bn&ctz=GMT+02:00) - <time:2022-06-13T22:00:00+02:00> [wg-traits] GATs Sync [calendar link](https://www.google.com/calendar/event?eid=Y3VpY2NkbXBoZTJkMHJmcmZxZmU4MjhodDBfMjAyMjA2MTNUMjAwMDAwWiA2dTVycnRjZTZscnR2MDdwZmkzZGFtZ2p1c0Bn&ctz=GMT+02:00) - <time:2022-06-15T15:00:00+02:00> [Types team] Hack session: Advanced subtyping [calendar link](https://www.google.com/calendar/event?eid=MDkxcnJqbGpwNm9sNWVqazB0b3U4azZkN2FfMjAyMjA2MTVUMTMwMDAwWiA2dTVycnRjZTZscnR2MDdwZmkzZGFtZ2p1c0Bn&ctz=GMT+02:00) ## MCPs/FCPs - New MCPs (take a look, see if you like them!) - No new proposals this time. - Old MCPs (not seconded, take a look) - "Tier 3 target proposal: riscv64gc-linux-android (Android target for `riscv64gc`)" [compiler-team#472](https://github.com/rust-lang/compiler-team/issues/472) (last review activity: 5 months ago) - :loudspeaker: Stale MCP: will be closed next week - [Zulip discussion](https://rust-lang.zulipchat.com/#narrow/stream/233931-t-compiler.2Fmajor-changes/topic/Tier.203.20target.20proposal.3A.20riscv64gc-linux-a.E2.80.A6.20compiler-team.23472) - MCP author replied to all questions, so it seems no visible concern to be addressed - "`-Dwarnings` to cover all warnings" [compiler-team#473](https://github.com/rust-lang/compiler-team/issues/473) (last review activity: 5 months ago) - :loudspeaker: Stale MCP: will be closed next week - [Zulip discussion](https://rust-lang.zulipchat.com/#narrow/stream/233931-t-compiler.2Fmajor-changes/topic/.60-Dwarnings.60.20to.20cover.20all.20warnings.20compiler-team.23473) - Comments seem to underline possible conflicts with `cargo` linting system. - "Dealing with type/const ambiguities" [compiler-team#480](https://github.com/rust-lang/compiler-team/issues/480) (last review activity: 4 months ago) - "Removing codegen logic for `nvptx-nvidia-cuda` (32-bit target)" [compiler-team#496](https://github.com/rust-lang/compiler-team/issues/496) (last review activity: 2 months ago) - "Arbitrary annotations in compiletest" [compiler-team#513](https://github.com/rust-lang/compiler-team/issues/513) (last review activity: about 24 days ago) - Pending FCP requests (check your boxes!) - "Stabilize `-Zgcc-ld=lld` as `-Clink-self-contained=linker -Clinker-flavor=gcc-lld`" [compiler-team#510](https://github.com/rust-lang/compiler-team/issues/510#issuecomment-1119675764) - "Increase the minimum linux-gnu versions" [rust#95026](https://github.com/rust-lang/rust/pull/95026#issuecomment-1077855006) - Note: T-libs discussed and approved this change ([comment](https://github.com/rust-lang/rust/pull/95026#issuecomment-1144222893)) - Things in FCP (make sure you're good with it) - No FCP requests this time. - Accepted MCPs - "Build-time execution sandboxing" [compiler-team#475](https://github.com/rust-lang/compiler-team/issues/475) - "Change compiletest declarations parsing" [compiler-team#512](https://github.com/rust-lang/compiler-team/issues/512) - Finalized FCPs (disposition merge) - "Tracking Issue for `-Z terminal-width`" [rust#84673](https://github.com/rust-lang/rust/issues/84673) - "Remove migrate borrowck mode" [rust#95565](https://github.com/rust-lang/rust/pull/95565) - "Stabilize the `bundle` native library modifier" [rust#95818](https://github.com/rust-lang/rust/pull/95818) - "Modify MIR building to drop repeat expressions with length zero" [rust#95953](https://github.com/rust-lang/rust/pull/95953) - "Remove label/lifetime shadowing warnings" [rust#96296](https://github.com/rust-lang/rust/pull/96296) - "Lang: Stabilize usage of rustc_nonnull_optimization_guaranteed on -1" [rust#97122](https://github.com/rust-lang/rust/issues/97122) ### WG checkins - @_*WG-traits* Traits (generic work of the WG) by @**nikomatsakis** and @**Jack Huey** ([previous checkin](https://hackmd.io/jxlX991ESb62LmuKImWWFA#WG-checkins)) > Officially renamed to types team. Steady progress on various initiatives. Biggest update is migrate mode removal. Over this month, we're going to do triage during deep dives. - @_*WG-mir-opt* MIR Optimizations by @**oli** ([previous checkin](https://hackmd.io/OpHTC_XERyaxTWH2JLfSzw#WG-checkins)) > Checkin text ## Backport nominations [T-compiler beta](https://github.com/rust-lang/rust/issues?q=is%3Aall+label%3Abeta-nominated+-label%3Abeta-accepted+label%3AT-compiler) / [T-compiler stable](https://github.com/rust-lang/rust/issues?q=is%3Aall+label%3Astable-nominated+-label%3Astable-accepted+label%3AT-compiler) - :beta: "Update LLVM submodule" [rust#97690](https://github.com/rust-lang/rust/pull/97690) - Fixes [rust#97428](https://github.com/rust-lang/rust/issues/97428), `P-critical` unsoundness bug - author @**Nikita Popov** mentions that LLVM upgrade should be safe ([comment](https://github.com/rust-lang/rust/pull/97690#issuecomment-1148303196)) - :beta: "Fail gracefully when encountering an HRTB in APIT. " [rust#97683](https://github.com/rust-lang/rust/pull/97683) - Fixes [rust#96954](https://github.com/rust-lang/rust/issues/96954), a `P-medium` ICE that should be an error (like in stable) - @**nagisa** nominated ([comment](https://github.com/rust-lang/rust/pull/97683#issuecomment-1146805060)) - :beta: "Aarch64 call abi does not zeroext (and one cannot assume it does so)" [rust#97800](https://github.com/rust-lang/rust/pull/97800) - Fixes a `P-critical` unsoundness bug on tier 1 platform - patch author and backport nomination by @**pnkfelix** - :stable: "Aarch64 call abi does not zeroext (and one cannot assume it does so)" [rust#97800](https://github.com/rust-lang/rust/pull/97800) - also stable backport, [comment](https://github.com/rust-lang/rust/pull/97800#issuecomment-1147832665) clarifies the nomination: if we had to do a point release for other reasons, should this be included? [T-rustdoc beta](https://github.com/rust-lang/rust/issues?q=is%3Aall+label%3Abeta-nominated+-label%3Abeta-accepted+label%3AT-rustdoc) / [T-rustdoc stable](https://github.com/rust-lang/rust/issues?q=is%3Aall+label%3Astable-nominated+-label%3Astable-accepted+label%3AT-rustdoc) - No backport nominations for `T-rustdoc` this time. :back: / :shrug: / :hand: ## PRs S-waiting-on-team [T-compiler](https://github.com/rust-lang/rust/pulls?utf8=%E2%9C%93&q=is%3Aopen+label%3AS-waiting-on-team+label%3AT-compiler) - No PRs waiting on `T-compiler` this time. - (4 PRs omitted because either drafts or waiting on other teams / RFC process) ## Oldest PRs waiting for review [T-compiler](https://github.com/rust-lang/rust/pulls?q=is%3Apr+is%3Aopen+sort%3Aupdated-asc+label%3AS-waiting-on-review+draft%3Afalse+label%3AT-compiler+-label%3AT-lang+-label%3AT-infra+-label%3AT-release+-label%3AT-libs+-label%3AT-libs-api) - "reduce RPC overhead for common proc_macro operations" [rust#86822](https://github.com/rust-lang/rust/pull/86822) - nominated by @**nnethercote** ([comment](https://github.com/rust-lang/rust/pull/86822#issuecomment-1150514376)) - PR is also `I-compiler-nominated` - "Add option to pass environment variables" [rust#94387](https://github.com/rust-lang/rust/pull/94387) (last review activity: about 33 days ago) - cc latest reviewers: @**Esteban Küber** and @**bjorn3** - "`Clone` suggestions" [rust#95115](https://github.com/rust-lang/rust/pull/95115) (last review activity: about 26 days ago) - assigned reviewer @**Esteban Küber**, suggests an additional reviewer ([comment](https://github.com/rust-lang/rust/pull/95115#issuecomment-1107672151)) - also cc: @**oli** and @**Jak{e,ob} Degen** (as they left comments, too) - any actionable for the PR author at this time? - "Add Finalize statement to make deaggregation "reversible" by storing all information in MIR" [rust#96043](https://github.com/rust-lang/rust/pull/96043) (last review activity: about 25 days ago) - unsure about status: maybe a comment on latest perf run results? - cc: @**Wesley Wiser** since assigned reviewer - "Print type of every call in a method call chain" [rust#96918](https://github.com/rust-lang/rust/pull/96918) (last review activity: about 20 days ago) - unsure about current status - cc: @**Michael Goulet (compiler-errors)** maybe to comment on latest notes left by @**Esteban Küber**? - "Only compile #[used] as llvm.compiler.used for ELF targets" [rust#93718](https://github.com/rust-lang/rust/pull/93718) (last review activity: about 55 days ago) - seems ready for another round of review - cc @**pnkfelix** ## Issues of Note ### Short Summary - [2 T-compiler P-critical issues](https://github.com/rust-lang/rust/issues?q=is%3Aopen+label%3AT-compiler+label%3AP-critical) - [0 of those are unassigned](https://github.com/rust-lang/rust/issues?q=is%3Aopen+label%3AT-compiler+label%3AP-critical+no%3Aassignee) - [62 T-compiler P-high issues](https://github.com/rust-lang/rust/issues?q=is%3Aopen+label%3AT-compiler+label%3AP-high) - [47 of those are unassigned](https://github.com/rust-lang/rust/issues?q=is%3Aopen+label%3AT-compiler+label%3AP-high+no%3Aassignee) - [0 P-critical, 0 P-high, 5 P-medium, 0 P-low regression-from-stable-to-beta](https://github.com/rust-lang/rust/labels/regression-from-stable-to-beta) - [0 P-critical, 0 P-high, 2 P-medium, 0 P-low regression-from-stable-to-nightly](https://github.com/rust-lang/rust/labels/regression-from-stable-to-nightly) - [1 P-critical, 40 P-high, 78 P-medium, 9 P-low regression-from-stable-to-stable](https://github.com/rust-lang/rust/labels/regression-from-stable-to-stable) ### P-critical [T-compiler](https://github.com/rust-lang/rust/issues?utf8=%E2%9C%93&q=is%3Aopen+label%3AP-critical+label%3AT-compiler) - "Infinite recursion optimized away with `opt-level=z`" [rust#97428](https://github.com/rust-lang/rust/issues/97428) - Fixed by upgrading to LLVM/14.x (#97690) - #97690 incorporates fix by @**Nikita Popov** [comment](https://github.com/rust-lang/rust/issues/97428#issuecomment-1141175822) - "Wrong cast of u16 to usize on aarch64" [rust#97463](https://github.com/rust-lang/rust/issues/97463) - Fixed by #97800 [T-rustdoc](https://github.com/rust-lang/rust/issues?utf8=%E2%9C%93&q=is%3Aopen+label%3AP-critical+label%3AT-rustdoc) - No `P-critical` issues for `T-rustdoc` this time. ### P-high regressions [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-release+-label%3AT-rustdoc+-label%3AT-core) - No `P-high` beta regressions this time. [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-release+-label%3AT-rustdoc+-label%3AT-core) - No unassigned `P-high` nightly regressions this time. ## Performance logs > [triage logs for 2022-06-07](https://github.com/rust-lang/rustc-perf/blob/1d5630da266bf4b7c25b33e3885909b30016ff40/triage/2022-06-07.md) A busy week in compiler performance, but fortunately improvements outweighed regressions. The biggest improvements came from @nnethercote's work on making the decoding of `SourceFile::lines` lazy which significantly cuts the costs of decoding crate metadata. The biggest regressions came from the removal of json handling in `rustc_serialize` which has been a multi-month effort to improve the maintainability of json (de-)serialization in the compiler. Triage done by **@rylev**. Revision range: [0a43923a..bb55bd](https://perf.rust-lang.org/?start=0a43923a86c3b8f11d005884871b152f59b746f7&end=bb55bd449e65e611da928560d948982d73e50027&absolute=false&stat=instructions%3Au) **Summary**: | | mean | max | count | |:------------------------:|:-----:|:------:|:-----:| | Regressions (primary) | 0.5% | 3.2% | 36 | | Regressions (secondary) | 0.3% | 0.9% | 15 | | Improvements (primary) | -1.3% | -15.1% | 124 | | Improvements (secondary) | -2.7% | -13.5% | 182 | | All (primary) | -0.9% | -15.1% | 160 | 2 Regression, 6 Improvements, 5 Mixed; 4 of them in rollups 48 artifact comparisons made in total #### Regressions rewrite error handling for unresolved inference vars [#89862](https://github.com/rust-lang/rust/pull/89862) [(Comparison Link)](https://perf.rust-lang.org/compare.html?start=72f7e3144a386c820c188350092d2d93a74889b8&end=e40d5e83dc133d093c22c7ff016b10daa4f40dcf&stat=instructions:u) | | mean | max | count | |:------------------------:|:----:|:----:|:-----:| | Regressions (primary) | 0.2% | 0.3% | 7 | | Regressions (secondary) | 0.4% | 1.0% | 23 | | Improvements (primary) | N/A | N/A | 0 | | Improvements (secondary) | N/A | N/A | 0 | | All (primary) | 0.2% | 0.3% | 7 | - Ran cache grind diff and saw that `ObligationForest::process_obligations` is getting called a lot more. - I'm very unfamiliar with trait resolution, so I'm unsure if this is a red herring or not. - In any case, [here](https://gist.github.com/rylev/8e5fd44e2ee0db7f3dd449eb0e88ccbd) is the full diff. - Left a comment as such [here](https://github.com/rust-lang/rust/pull/89862#issuecomment-1148733903) Remove all json handling from rustc_serialize [#85993](https://github.com/rust-lang/rust/pull/85993) [(Comparison Link)](https://perf.rust-lang.org/compare.html?start=9a74608543d499bcc7dd505e195e8bfab9447315&end=7e9b92cb43a489b34e2bcb8d21f36198e02eedbc&stat=instructions:u) | | mean | max | count | |:------------------------:|:-----:|:-----:|:-----:| | Regressions (primary) | 0.5% | 1.3% | 68 | | Regressions (secondary) | 0.9% | 3.5% | 40 | | Improvements (primary) | -0.4% | -0.6% | 3 | | Improvements (secondary) | -0.5% | -1.0% | 24 | | All (primary) | 0.5% | 1.3% | 71 | - @nnethercote was not able to reproduce the regressions in a local build, and it seems the consensus is that the regressions are worth the hit. #### Improvements Make params be SmallVec as originally was [#97670](https://github.com/rust-lang/rust/pull/97670) [(Comparison Link)](https://perf.rust-lang.org/compare.html?start=a6b8c6954829669a5c4fa320c3e6132edf04fcfc&end=f15370b4e44988ad5d228b25e939650c0a6c2ec7&stat=instructions:u) | | mean | max | count | |:------------------------:|:-----:|:-----:|:-----:| | Regressions (primary) | N/A | N/A | 0 | | Regressions (secondary) | N/A | N/A | 0 | | Improvements (primary) | -0.2% | -0.2% | 3 | | Improvements (secondary) | N/A | N/A | 0 | | All (primary) | -0.2% | -0.2% | 3 | Add PID to LLVM PGO profile path [#97137](https://github.com/rust-lang/rust/pull/97137) [(Comparison Link)](https://perf.rust-lang.org/compare.html?start=c7b0452ece11bf714f7cf2003747231931504d59&end=63641795406e1831a822f011242fdfb225fc8fbc&stat=instructions:u) | | mean | max | count | |:------------------------:|:-----:|:-----:|:-----:| | Regressions (primary) | N/A | N/A | 0 | | Regressions (secondary) | N/A | N/A | 0 | | Improvements (primary) | -0.6% | -0.8% | 20 | | Improvements (secondary) | -0.7% | -1.0% | 8 | | All (primary) | -0.6% | -0.8% | 20 | Rollup of 6 pull requests [#97742](https://github.com/rust-lang/rust/pull/97742) [(Comparison Link)](https://perf.rust-lang.org/compare.html?start=4e725bad73747a4c93a3ac53106e4b4006edc665&end=43874a2ee749c2dd9f052172341f2f87fa36cd79&stat=instructions:u) | | mean | max | count | |:------------------------:|:-----:|:-----:|:-----:| | Regressions (primary) | N/A | N/A | 0 | | Regressions (secondary) | N/A | N/A | 0 | | Improvements (primary) | N/A | N/A | 0 | | Improvements (secondary) | -1.9% | -2.6% | 12 | | All (primary) | N/A | N/A | 0 | interpret: better control over whether we read data with provenance [#97684](https://github.com/rust-lang/rust/pull/97684) [(Comparison Link)](https://perf.rust-lang.org/compare.html?start=79b6bad406155cad4481150fc5dfa0da5394e3b6&end=9d20fd109809f20c049d6895a5be27a1fbd39daa&stat=instructions:u) | | mean | max | count | |:----------:|:----:|:---:|:-----:| | Regressions (primary) | N/A | N/A | 0 | | Regressions (secondary) | N/A | N/A | 0 | | Improvements (primary) | -0.7% | -1.9% | 8 | | Improvements (secondary) | -5.5% | -10.5% | 12 | | All (primary) | -0.7% | -1.9% | 8 | Remove migrate borrowck mode [#95565](https://github.com/rust-lang/rust/pull/95565) [(Comparison Link)](https://perf.rust-lang.org/compare.html?start=9f7e997c8bc3cacd2ab4eb75e63cb5fa9279c7b0&end=bb55bd449e65e611da928560d948982d73e50027&stat=instructions:u) | | mean | max | count | |:------------------------:|:-----:|:-----:|:-----:| | Regressions (primary) | N/A | N/A | 0 | | Regressions (secondary) | N/A | N/A | 0 | | Improvements (primary) | -0.5% | -1.9% | 47 | | Improvements (secondary) | -0.5% | -1.4% | 21 | | All (primary) | -0.5% | -1.9% | 47 | Lazify `SourceFile::lines`. [#97575](https://github.com/rust-lang/rust/pull/97575) [(Comparison Link)](https://perf.rust-lang.org/compare.html?start=44e9516c8535c6f41f2d1c444657cd672b4ab81b&end=e71440575c930dcecac288b7c3536410d688b351&stat=instructions:u) | | mean | max | count | |:------------------------:|:-----:|:------:|:-----:| | Regressions (primary) | N/A | N/A | 0 | | Regressions (secondary) | 0.4% | 0.5% | 6 | | Improvements (primary) | -1.8% | -15.3% | 52 | | Improvements (secondary) | -2.9% | -13.8% | 124 | | All (primary) | -1.8% | -15.3% | 52 | #### Mixed Add `#[inline]` to `Vec`'s `Deref/DerefMut` [#97553](https://github.com/rust-lang/rust/pull/97553) [(Comparison Link)](https://perf.rust-lang.org/compare.html?start=02916c4c75912f70b651c0b20b501444ce2ca231&end=395a09c3dafe0c7838c9ca41d2b47bb5e79a5b6d&stat=instructions:u) | | mean | max | count | |:------------------------:|:-----:|:-----:|:-----:| | Regressions (primary) | 0.5% | 0.8% | 6 | | Regressions (secondary) | 0.4% | 0.7% | 31 | | Improvements (primary) | -1.2% | -1.7% | 10 | | Improvements (secondary) | -1.1% | -1.9% | 10 | | All (primary) | -0.5% | -1.7% | 16 | - As with any chance to inlining, performance is expected to change and to not always have a positive impact. - The improvements outweigh the regressions (especially in primary benchmarks), and so it doesn't seem worth it to dig too much more into this. Rollup of 6 pull requests [#97644](https://github.com/rust-lang/rust/pull/97644) [(Comparison Link)](https://perf.rust-lang.org/compare.html?start=5e6bb83268518dcd74c96b5504f485b71e604e4c&end=9598b4b594c97dff66feb93522e22db500deea07&stat=instructions:u) | | mean | max | count | |:------------------------:|:-----:|:-----:|:-----:| | Regressions (primary) | N/A | N/A | 0 | | Regressions (secondary) | 0.6% | 0.7% | 5 | | Improvements (primary) | -0.2% | -0.3% | 2 | | Improvements (secondary) | -0.3% | -0.5% | 11 | | All (primary) | -0.2% | -0.3% | 2 | - The improvements outweigh the regressions (which are pretty small and contained in secondary benchmarks). - Given it's in a rollup, it's not worth the effort to investigate. Rollup of 5 pull requests [#97654](https://github.com/rust-lang/rust/pull/97654) [(Comparison Link)](https://perf.rust-lang.org/compare.html?start=20976bae5c426c738262db376eadbd8859aafc08&end=44e9516c8535c6f41f2d1c444657cd672b4ab81b&stat=instructions:u) | | mean | max | count | |:------------------------:|:-----:|:-----:|:-----:| | Regressions (primary) | N/A | N/A | 0 | | Regressions (secondary) | 0.6% | 0.6% | 1 | | Improvements (primary) | N/A | N/A | 0 | | Improvements (secondary) | -0.6% | -0.8% | 8 | | All (primary) | N/A | N/A | 0 | - The improvements outweigh the regressions (which are pretty small and contained in secondary benchmarks). - Given it's in a rollup, it's not worth the effort to investigate. Rollup of 3 pull requests [#97694](https://github.com/rust-lang/rust/pull/97694) [(Comparison Link)](https://perf.rust-lang.org/compare.html?start=e40d5e83dc133d093c22c7ff016b10daa4f40dcf&end=9a74608543d499bcc7dd505e195e8bfab9447315&stat=instructions:u) | | mean | max | count | |:------------------------:|:-----:|:-----:|:-----:| | Regressions (primary) | 0.2% | 0.2% | 1 | | Regressions (secondary) | 0.3% | 0.5% | 5 | | Improvements (primary) | -0.4% | -0.6% | 12 | | Improvements (secondary) | -0.3% | -0.5% | 13 | | All (primary) | -0.4% | -0.6% | 13 | - The improvements outweigh the regressions (which are pretty small and almost completely contained in secondary benchmarks). - Given it's in a rollup, it's not worth the effort to investigate. Inline `bridge::Buffer` methods. [#97604](https://github.com/rust-lang/rust/pull/97604) [(Comparison Link)](https://perf.rust-lang.org/compare.html?start=c3384ea35cafc3a8a6554a2ad524dbf70df4bbcd&end=cb0584f86b8cfa952dffad55f7d83bd90765120f&stat=instructions:u) | | mean | max | count | |:------------------------:|:-----:|:-----:|:-----:| | Regressions (primary) | 3.8% | 3.8% | 1 | | Regressions (secondary) | N/A | N/A | 0 | | Improvements (primary) | -0.3% | -0.3% | 1 | | Improvements (secondary) | -2.1% | -2.1% | 3 | | All (primary) | 1.8% | 3.8% | 2 | - I'm a bit confused as this PR was opened to address a performance regression, but it seems to be itself a partial perf regression (at least in instruction counts). - This causes a near 4% perf regression in [serde_derive-1.0.136](https://github.com/rust-lang/rustc-perf/tree/master/collector/benchmarks/serde_derive-1.0.136). Granted that particular benchmark has been somewhat noisy but not nearly to the level seen here. - Add a comment seeking [justification](https://github.com/rust-lang/rust/pull/97604#issuecomment-1148722741) ## Nominated Issues [T-compiler](https://github.com/rust-lang/rust/issues?q=is%3Aopen+label%3AI-compiler-nominated+label%3AT-compiler) - "reduce RPC overhead for common proc_macro operations" [rust#86822](https://github.com/rust-lang/rust/pull/86822) - nominated by @**nnethercote** ([comment](https://github.com/rust-lang/rust/pull/86822#issuecomment-1150514376)) - points out better perf results and that the PR is ready for review - "sess: stabilize `--terminal-width`" [rust#95635](https://github.com/rust-lang/rust/pull/95635) - nominated by @**oli** for a mention for T-compiler - "Update Mac Catalyst support for Clang 13" [rust#96392](https://github.com/rust-lang/rust/pull/96392) - nominated by @**Esteban Küber** in [comment](https://github.com/rust-lang/rust/pull/96392#issuecomment-1138887246) to find someone more conversant with that platform - @__**Thom Chiovoloni** pinged a list of names that could help ([comment](https://github.com/rust-lang/rust/pull/96392#issuecomment-1138893845)) [RFC](https://github.com/rust-lang/rfcs/issues?q=is%3Aopen+label%3AI-compiler-nominated+label%3AT-compiler) - "New rustc and Cargo options to allow path sanitisation by default" [rfcs#3127](https://github.com/rust-lang/rfcs/pull/3127) - @**Andy Wang** asked for T-compiler to sign-off the changes ([comment](https://github.com/rust-lang/rfcs/pull/3127#issuecomment-1132855632)) - @**bjorn3** followed with a review - related T-compiler meeting [compiler-team#516](https://github.com/rust-lang/compiler-team/issues/516) ## Next week's WG checkins - @_*wg-polymorphization* Polymorphization by @**davidtwco** ([previous checkin](https://hackmd.io/Fv3TSalbT_CYVUEonihWzg#WG-checkins)) - @_*WG-rls2.0* RLS 2.0 by @**matklad** ([previous checkin](https://hackmd.io/Fv3TSalbT_CYVUEonihWzg#WG-checkins))