This was a relatively quiet week with regressions and improvements relatively equally each other out. The big exception is with a somewhat large regression in rustdoc which was needed for a large and important architectural change. This could lead to users see somewhat slower doc build times with more memory used especially in projects with large crate dependency graphs.
Triage done by @rylev. Revision range: c54dfee65126a0ac385d55389a316e89095a0713..1ea4851715893ee3f365a8ef09d47165e9a7864f
2 Regressions, 4 Improvements, 2 Mixed; 1 of them in rollups 35 comparisons made in total
rustdoc: Pre-calculate traits that are in scope for doc links #88679
- Average relevant regression: 5.4%
- Largest regression in instruction counts: 9.1% on
full
builds ofregression-31157 doc
- All the regressions are localized to rustdoc and are quite substantial but exacerbated by an architectural issue which needs to be solved.
- The regressions are well known and extensively discussed in the PR with the next steps being tracked in an issue.
Store def_id_to_hir_id as variant in hir_owner. #93373
- Average relevant regression: 1.2%
- Average relevant improvement: -0.3%
- Largest regression in instruction counts: 5.5% on
incr-unchanged
builds ofmatch-stress-enum check
- This is the first commit (originally bundled with #93301) of a larger PR (#89278) which saw larger PR regressions than the two sub PRs combined.
- A more detailed justification for this can be found here, but in general this allows for even more incremental compilation and is thus worth the small immediate compilation performance penalty.
Fix the unsoundness in the early_otherwise_branch
mir opt pass #91840
- Average relevant improvement: -1.1%
- Largest improvement in instruction counts: -6.9% on
full
builds ofdeeply-nested-async check
Only traverse attrs once while checking for coherence override attributes #93343
- Average relevant improvement: -1.1%
- Largest improvement in instruction counts: -1.4% on
incr-full
builds ofstm32f4 check
Rollup of 10 pull requests #93427
- Average relevant improvement: -1.2%
- Largest improvement in instruction counts: -1.9% on
full
builds ofctfe-stress-4 doc
Disable drop range analysis #93284
- Average relevant improvement: -1.6%
- Largest improvement in instruction counts: -2.0% on
full
builds ofawait-call-tree check
Store hir_id_to_def_id in OwnerInfo. #93301
- Average relevant regression: 0.6%
- Average relevant improvement: -0.5%
- Largest improvement in instruction counts: -0.6% on
full
builds ofunused-warnings check
- Largest regression in instruction counts: 2.2% on
incr-unchanged
builds ofmatch-stress-enum check
- This is the first commit (originally bundled with #93373) of a larger PR (#89278) which saw larger PR regressions than the two sub PRs combined.
Create core::fmt::ArgumentV1
with generics instead of fn pointer #90891
- Average relevant regression: 1.2%
- Average relevant improvement: -1.2%
- Largest improvement in instruction counts: -6.7% on
full
builds oftokio-webpush-simple opt
- Largest regression in instruction counts: 2.1% on
full
builds ofkeccak check
- The improvements outweigh the regressions considerably and this was considered a fine trade off.
- #93466 Make dead code check a query.
- #93288 Rollup of 8 pull requests
- #93138 Rollup of 17 pull requests
- #93095 Store a
Symbol
instead of anIdent
inAssocItem
- #92896 Update some rustc dependencies to deduplicate them
- #92844 Rollup of 9 pull requests
- #92816 Remove deprecated LLVM-style inline assembly
- #92805 partially revertish
lazily "compute" anon const default substs
- #92534 Hash
Ident
spans in all HIR structures - #92356 Add {Add,Sub,Mul,Div,Rem,BitXor,BitOr,BitAnd}{,Assign}<$t> to Saturat…
- #92277 rustc_metadata: Stop passing
CrateMetadataRef
by reference (step 1) - #92252 Update pulldown-cmark version to 0.9
- #92229 Do not display
~const Drop
in rustdoc - #92227 Rustdoc: use
is_doc_hidden
method on more places - #92149 Fix bad caching of
~const Drop
bounds - #92135 Add
#[inline]
modifier toTypeId::of
- #92110 Backport LLVM changes to disable deferred inlining
- #92106 Rollup of 4 pull requests
- #92088 intra-doc: Use an enum to represent URL fragments
- #92064 Rollup of 7 pull requests
- #92062 Rollup of 7 pull requests
- #92041 Remove 'speculative evaluation' of predicates
- #92003 Rollup of 7 pull requests
- #91996 Rollup of 6 pull requests
- #91959 Rollup of 7 pull requests
- #91924 Fully serialize AdtDef
- #91900 rustdoc: make
--passes
and--no-defaults
have no effect - #91844 Eliminate
ObligationCauseData
- #91841 Rollup of 5 pull requests