-Cinstrument-coverage=all
" compiler-team#690 (Zulip) (last review activity: about 29 days ago)wasm-c-abi
flag" compiler-team#703 (Zulip) (last review activity: about 27 days ago)--build-id
flag to rustc" compiler-team#635 (Zulip)--json=unused-externs(-silent)
" compiler-team#674 (Zulip)warnings
level for a specific lint via command line" rust#113307unstable_features
and make use of it in the compiler" rust#118639--json=unused-externs(-silent)
" compiler-team#674 (Zulip)wasm32-wasi-preview2
" compiler-team#694 (Zulip)wasm32-wasi
" compiler-team#695 (Zulip)*-pc-windows-gnullvm
targets to tier 2" compiler-team#710 (Zulip)None this week
T-compiler beta / T-compiler stable
T-compiler
this time.T-types
this time.T-types
this time.P-critical
issues for T-compiler
this time.P-critical
issues for T-types
this time.Unassigned P-high nightly regressions
P-high
nightly regressions this time.Not a particularly notable week. Large swings aren't spurious but also are
driven by changes in high-level behavior (diagnostics going from zero to one
emission primarily), which causes a lot more work to happen. This isn't really
representative of the underlying rustc performance changing though.
Triage done by @simulacrum.
Revision range: 67b6975051b83ef2bd28f06e8467470d570aceb3..76101eecbe9aa80753664bbe637ad06d1925f315
Summary:
(instructions:u) | mean | range | count |
---|---|---|---|
Regressions ❌(primary) | 4.9% | [0.2%, 24.3%] | 14 |
Regressions (secondary) | 4.6% | [0.2%, 29.9%] | 55 |
Improvements (primary) | -0.5% | [-1.5%, -0.2%] | 61 |
Improvements (secondary) | -0.7% | [-1.0%, -0.4%] | 14 |
All (primary) | 0.5% | [-1.5%, 24.3%] | 75 |
4 Regressions, 4 Improvements, 6 Mixed; 1 of them in rollups
33 artifact comparisons made in total
rustc_lint: Enforce rustc::potential_query_instability
lint #119251 (Comparison Link)
(instructions:u) | mean | range | count |
---|---|---|---|
Regressions (primary) | 0.2% | [0.2%, 0.3%] | 2 |
Regressions (secondary) | 0.3% | [0.2%, 0.4%] | 8 |
Improvements (primary) | - | - | 0 |
Improvements (secondary) | - | - | 0 |
All (primary) | 0.2% | [0.2%, 0.3%] | 2 |
Minor change in just a few benchmarks. Not clear whether this is noise or not
but the overall change is required for correctness.
Merge unused_tuple_struct_fields
into dead_code
#118297 (Comparison Link)
(instructions:u) | mean | range | count |
---|---|---|---|
Regressions (primary) | 0.6% | [0.3%, 0.8%] | 7 |
Regressions (secondary) | 8.3% | [0.2%, 30.4%] | 28 |
Improvements (primary) | - | - | 0 |
Improvements (secondary) | - | - | 0 |
All (primary) | 0.6% | [0.3%, 0.8%] | 7 |
Regressions are related to this lint firing in a few benchmarks, which causes a
good deal of lazy loading to actually happen in diagnostics infra.
Exhaustiveness: Statically enforce revealing of opaques #119329 (Comparison Link)
(instructions:u) | mean | range | count |
---|---|---|---|
Regressions (primary) | - | - | 0 |
Regressions (secondary) | 1.9% | [1.7%, 2.0%] | 6 |
Improvements (primary) | - | - | 0 |
Improvements (secondary) | - | - | 0 |
All (primary) | - | - | 0 |
Only a match-stress regression, seems like an acceptable change for the
correctness fix.
Inline a few utility functions around MIR #119459 (Comparison Link)
(instructions:u) | mean | range | count |
---|---|---|---|
Regressions (primary) | 0.3% | [0.3%, 0.4%] | 3 |
Regressions (secondary) | - | - | 0 |
Improvements (primary) | - | - | 0 |
Improvements (secondary) | - | - | 0 |
All (primary) | 0.3% | [0.3%, 0.4%] | 3 |
Potentially just noise. Overall impact is limited to just one benchmark and
only incr-full.
Separate immediate and in-memory ScalarPair representation #118991 (Comparison Link)
(instructions:u) | mean | range | count |
---|---|---|---|
Regressions (primary) | 0.6% | [0.6%, 0.6%] | 1 |
Regressions (secondary) | - | - | 0 |
Improvements (primary) | -1.0% | [-1.5%, -0.6%] | 13 |
Improvements (secondary) | -0.2% | [-0.2%, -0.2%] | 1 |
All (primary) | -0.9% | [-1.5%, 0.6%] | 14 |
rustc_span: Optimize syntax context comparisons #119531 (Comparison Link)
(instructions:u) | mean | range | count |
---|---|---|---|
Regressions (primary) | - | - | 0 |
Regressions (secondary) | - | - | 0 |
Improvements (primary) | -0.6% | [-0.8%, -0.4%] | 5 |
Improvements (secondary) | - | - | 0 |
All (primary) | -0.6% | [-0.8%, -0.4%] | 5 |
Exhaustiveness: remove Matrix.wildcard_row
#119667 (Comparison Link)
(instructions:u) | mean | range | count |
---|---|---|---|
Regressions (primary) | - | - | 0 |
Regressions (secondary) | - | - | 0 |
Improvements (primary) | - | - | 0 |
Improvements (secondary) | -2.8% | [-3.0%, -2.6%] | 6 |
All (primary) | - | - | 0 |
macro_rules: Add an expansion-local cache to span marker #119693 (Comparison Link)
(instructions:u) | mean | range | count |
---|---|---|---|
Regressions (primary) | - | - | 0 |
Regressions (secondary) | - | - | 0 |
Improvements (primary) | -1.4% | [-20.5%, -0.2%] | 80 |
Improvements (secondary) | -0.8% | [-1.9%, -0.3%] | 16 |
All (primary) | -1.4% | [-20.5%, -0.2%] | 80 |
Largest improvements here are recovery from a spurious regression in previous
PR, but this is still a good win even aside from that.
Reorder check_item_type diagnostics so they occur next to the corresponding check_well_formed
diagnostics #117213 (Comparison Link)
(instructions:u) | mean | range | count |
---|---|---|---|
Regressions (primary) | 0.2% | [0.2%, 0.4%] | 7 |
Regressions (secondary) | 0.8% | [0.2%, 2.3%] | 5 |
Improvements (primary) | -0.3% | [-0.3%, -0.3%] | 2 |
Improvements (secondary) | - | - | 0 |
All (primary) | 0.1% | [-0.3%, 0.4%] | 9 |
Stabilize THIR unsafeck #117673 (Comparison Link)
(instructions:u) | mean | range | count |
---|---|---|---|
Regressions (primary) | - | - | 0 |
Regressions (secondary) | 0.3% | [0.2%, 0.4%] | 2 |
Improvements (primary) | -0.4% | [-0.9%, -0.2%] | 39 |
Improvements (secondary) | -0.6% | [-1.1%, -0.4%] | 9 |
All (primary) | -0.4% | [-0.9%, -0.2%] | 39 |
Improvements outweigh regressions.
Replace a number of FxHashMaps/Sets with stable-iteration-order alternatives #119192 (Comparison Link)
(instructions:u) | mean | range | count |
---|---|---|---|
Regressions (primary) | - | - | 0 |
Regressions (secondary) | 0.3% | [0.1%, 0.5%] | 7 |
Improvements (primary) | -0.4% | [-0.6%, -0.2%] | 2 |
Improvements (secondary) | - | - | 0 |
All (primary) | -0.4% | [-0.6%, -0.2%] | 2 |
Correctness fix, acceptable regressions.
Rollup of 9 pull requests #119662 (Comparison Link)
(instructions:u) | mean | range | count |
---|---|---|---|
Regressions (primary) | 0.2% | [0.2%, 0.2%] | 1 |
Regressions (secondary) | 0.7% | [0.2%, 1.3%] | 13 |
Improvements (primary) | -0.4% | [-0.4%, -0.2%] | 6 |
Improvements (secondary) | - | - | 0 |
All (primary) | -0.3% | [-0.4%, 0.2%] | 7 |
tt-muncher is the primary significant regression, and appears to be
significantly beyond the noise level for that benchmark. Investigation is
ongoing.
mark vec::IntoIter pointers as !nonnull
#114205 (Comparison Link)
(instructions:u) | mean | range | count |
---|---|---|---|
Regressions (primary) | 0.7% | [0.6%, 0.8%] | 2 |
Regressions (secondary) | - | - | 0 |
Improvements (primary) | -0.4% | [-0.4%, -0.4%] | 1 |
Improvements (secondary) | - | - | 0 |
All (primary) | 0.4% | [-0.4%, 0.8%] | 3 |
Likely slightly more work for LLVM.
Next meetings' agenda draft: hackmd link