target_env = "macabi"
and target_env = "sim"
" rust#139451x86_64-unknown-linux-gnu
stable" rust#140525--print
requests with output format suffixes" compiler-team#860 (Zulip)-C hint-mostly-unused
option" compiler-team#829 (Zulip)
--print host-tuple
to print host target tuple" rust#125579multivalue
, reference-types
, and tail-call
target features" rust#131080#[no_mangle]
and #[export_name]
" rust#131558-Zdwarf-version
as -Cdwarf-version
" rust#136926include!
macro" rust#125205clippy::double_neg
lint as double_negations
" rust#126604!
to diverge, disallow coercions from them too" rust#129392result_ffi_guarantees
" rust#130628ptr::write*
and mem::replace
" rust#130954repr()
on invalid items" rust#133925unsupported_fn_ptr_calling_conventions
: Also warn in dependencies" rust#135767?Trait
bounds in various places where we unconditionally warned since 1.0" rust#135841*const W<dyn A> -> *const dyn A
ptr cast" rust#136127ShouldPanic::YesWithMessage
's TrFailedMsg
" rust#136160#![feature(precise_capturing_in_traits)]
" rust#138128cfg_boolean_literals
" rust#138632SwitchInt
in analysis MIR" rust#139042exact_div
intrinsic" rust#139163T-compiler beta / T-compiler stable
beta
branch.beta
branch before May, 12thunsafe_attr_outside_unsafe
lint at the closest node" rust#140617
This PR fixes #140602, where it wasn't possible to #[allow(unsafe_attr_outside_unsafe)] in scopes within crate root, e.g. the following will error and not compile
T-compiler
this time.T-types
this time.T-types
this time.P-critical
issues for T-types
this time.P-high
beta regressions this time.Unassigned P-high nightly regressions
A relatively noisy week due to addition of new benchmarks as part of our 2025
benchmark update, and a number of large regressions in a rollup landing late
in the week, with investigation here.
Triage done by @simulacrum.
Revision range: 25cdf1f6..62c5f58f
Summary:
(instructions:u) | mean | range | count |
---|---|---|---|
Regressions (primary) | 1.9% | [0.2%, 14.4%] | 47 |
Regressions (secondary) | 2.0% | [0.1%, 11.8%] | 156 |
Improvements (primary) | -0.6% | [-3.4%, -0.2%] | 34 |
Improvements (secondary) | -1.6% | [-3.7%, -0.3%] | 20 |
All (primary) | 0.9% | [-3.4%, 14.4%] | 81 |
2 Regressions, 2 Improvements, 6 Mixed; 3 of them in rollups
31 artifact comparisons made in total
Introduce Arena::try_alloc_from_iter. #140023 (Comparison Link)
(instructions:u) | mean | range | count |
---|---|---|---|
Regressions (primary) | 0.3% | [0.3%, 0.4%] | 3 |
Regressions (secondary) | 0.3% | [0.1%, 0.4%] | 15 |
Improvements (primary) | - | - | 0 |
Improvements (secondary) | - | - | 0 |
All (primary) | 0.3% | [0.3%, 0.4%] | 3 |
Regressions look plausibly real (they've held up for a bit) but given they're
small and limited to just doc builds I'm inclined to accept. It seems plausible
this is just some slight differences in the ABI of the functions here or
similar. Marking as triaged.
Set groundwork for proper const normalization #140549 (Comparison Link)
(instructions:u) | mean | range | count |
---|---|---|---|
Regressions (primary) | 0.7% | [0.3%, 1.4%] | 3 |
Regressions (secondary) | 0.5% | [0.1%, 0.6%] | 7 |
Improvements (primary) | - | - | 0 |
Improvements (secondary) | - | - | 0 |
All (primary) | 0.7% | [0.3%, 1.4%] | 3 |
Mostly what looks like inlining noise. See comment
for more details.
perf: delay checking of #[rustc_no_implicit_autorefs]
in autoref lint #140406 (Comparison Link)
(instructions:u) | mean | range | count |
---|---|---|---|
Regressions (primary) | - | - | 0 |
Regressions (secondary) | - | - | 0 |
Improvements (primary) | -1.2% | [-3.4%, -0.2%] | 13 |
Improvements (secondary) | -0.4% | [-0.4%, -0.4%] | 1 |
All (primary) | -1.2% | [-3.4%, -0.2%] | 13 |
Use a closure instead of three chained iterators #140464 (Comparison Link)
(instructions:u) | mean | range | count |
---|---|---|---|
Regressions (primary) | - | - | 0 |
Regressions (secondary) | - | - | 0 |
Improvements (primary) | -0.3% | [-0.6%, -0.2%] | 13 |
Improvements (secondary) | -0.1% | [-0.1%, -0.1%] | 2 |
All (primary) | -0.3% | [-0.6%, -0.2%] | 13 |
Rollup of 7 pull requests #140474 (Comparison Link)
(instructions:u) | mean | range | count |
---|---|---|---|
Regressions (primary) | 0.3% | [0.3%, 0.3%] | 1 |
Regressions (secondary) | - | - | 0 |
Improvements (primary) | -2.9% | [-2.9%, -2.9%] | 1 |
Improvements (secondary) | -0.2% | [-0.2%, -0.2%] | 2 |
All (primary) | -1.3% | [-2.9%, 0.3%] | 2 |
Regression is limited to unicode-normalization-0.1.19 and appears within noise
limit for that benchmark. Marking as triaged.
Simplify LazyAttrTokenStream
#127516 (Comparison Link)
(instructions:u) | mean | range | count |
---|---|---|---|
Regressions (primary) | - | - | 0 |
Regressions (secondary) | 0.6% | [0.3%, 0.8%] | 7 |
Improvements (primary) | - | - | 0 |
Improvements (secondary) | -2.1% | [-4.0%, -1.4%] | 16 |
All (primary) | - | - | 0 |
Improvements outweigh regressions, and all the movement is in secondary benchmarks.
Streamline the format
macro. #140188 (Comparison Link)
(instructions:u) | mean | range | count |
---|---|---|---|
Regressions (primary) | 0.2% | [0.2%, 0.2%] | 1 |
Regressions (secondary) | 1.8% | [1.7%, 1.9%] | 6 |
Improvements (primary) | -0.3% | [-0.4%, -0.1%] | 10 |
Improvements (secondary) | - | - | 0 |
All (primary) | -0.2% | [-0.4%, 0.2%] | 11 |
The improvements on primary benchmarks were deemed to outweigh the regressions on secondary benchmarks.
shared-generics: Do not share instantiations that contain local-only types #138522 (Comparison Link)
(instructions:u) | mean | range | count |
---|---|---|---|
Regressions (primary) | 0.9% | [0.4%, 1.5%] | 3 |
Regressions (secondary) | 0.1% | [0.1%, 0.1%] | 1 |
Improvements (primary) | -0.5% | [-0.7%, -0.3%] | 6 |
Improvements (secondary) | -1.0% | [-1.0%, -1.0%] | 1 |
All (primary) | -0.0% | [-0.7%, 1.5%] | 9 |
Marking perf as triaged. There's some improvements, some regressions, but the
regressions look like potentially bimodality – and where they're possibly
real hard to justify further digging in. The change seems overall a slight
improvement on our benchmarks.
Rollup of 9 pull requests #140596 (Comparison Link)
(instructions:u) | mean | range | count |
---|---|---|---|
Regressions (primary) | - | - | 0 |
Regressions (secondary) | 0.4% | [0.2%, 0.5%] | 2 |
Improvements (primary) | -1.2% | [-1.2%, -1.2%] | 1 |
Improvements (secondary) | - | - | 0 |
All (primary) | -1.2% | [-1.2%, -1.2%] | 1 |
Regression triaged. Regressions look like bimodality/noise, not worth further follow up.
Rollup of 7 pull requests #140633 (Comparison Link)
(instructions:u) | mean | range | count |
---|---|---|---|
Regressions (primary) | 1.2% | [0.2%, 13.4%] | 77 |
Regressions (secondary) | 1.9% | [0.2%, 11.0%] | 155 |
Improvements (primary) | -1.5% | [-1.5%, -1.5%] | 1 |
Improvements (secondary) | - | - | 0 |
All (primary) | 1.2% | [-1.5%, 13.4%] | 78 |
Per investigation on the PR, the root cause is #139675. Per discussion here we expect that this will be mostly resolved in our next LLVM bump, but is likely an acceptable regression in the meantime (primarily to very short compiles) for the feature in question.
GSoC:
Next meetings' agenda draft: hackmd link