Unfortunately a change introduced in rust-lang/rust#89836 has made performance across different compiler artifacts much more variable by embedding compiler version information (including a git commit hash) in demangled symbol names. This means that even if two compiler artifacts are built from the same exact source code (with only the git commit changed), the compiler will have slightly different performance characteristics. This makes comparisons across pull requests virtually impossible.
The compiler team is still deciding what to do to handle this, but in the mean time, performance testing is largely broken. This issue is currently being tracked inrust-lang/rustc-perf#1126.
Triage done by @rylev. Revision range: 404c8471aba60c2d837fa728e7c729a0f52d5830..3d57c61a9e04dcd3df633f41142009d6dcad4399
2 Regressions, 2 Improvements, 23 Mixed; 9 of them in rollups 38 comparisons made in total
Update Clippy #92036
incr-unchanged
builds of ctfe-stress-4
)Rollup of 7 pull requests #92059
incr-unchanged
builds of encoding
)Rollup of 7 pull requests #91962
incr-unchanged
builds of inflate
)Rollup of 7 pull requests #92099
incr-unchanged
builds of externs
)Stabilize asm! and global_asm! #91728
incr-unchanged
builds of deep-vector
)incr-unchanged
builds of html5ever
)Rollup of 7 pull requests #91959
incr-unchanged
builds of helloworld
)incr-unchanged
builds of inflate
)extend simplify_type
#86986
full
builds of hyper-2
)incr-patched: sparse set
builds of regex
)Include rustc version in rustc_span::StableCrateId
#89836
incr-unchanged
builds of tuple-stress
)incr-unchanged
builds of unicode_normalization
)Optimize vec::retain
performance #91527
incr-unchanged
builds of unicode_normalization
)incr-patched: println
builds of regression-31157
)Rollup of 6 pull requests #91996
incr-patched: println
builds of regression-31157
)incr-unchanged
builds of clap-rs
)rustdoc: don't clone already owned Path
and modify it inplace #91833
incr-unchanged
builds of clap-rs
)incr-patched: println
builds of regression-31157
)Fix #91306 by deriving all access from a single *mut T #91616
incr-unchanged
builds of regression-31157
)incr-unchanged
builds of ctfe-stress-4
)Rollup of 7 pull requests #92003
incr-unchanged
builds of ctfe-stress-4
)incr-unchanged
builds of tuple-stress
)Implement normalize_erasing_regions queries in terms of ‘try’ version #91672
incr-unchanged
builds of tuple-stress
)incr-unchanged
builds of ctfe-stress-4
)rustdoc: Pretty-print assoc const defaults on-demand #91812
incr-unchanged
builds of ctfe-stress-4
)incr-unchanged
builds of tuple-stress
)Update cargo #92023
incr-unchanged
builds of tuple-stress
)incr-unchanged
builds of wg-grammar
)Do array-slice equality via array equality, rather than always via slices #91838
full
builds of piston-image
)incr-patched: b9b3e592dd cherry picked
builds of style-servo
)Rollup of 7 pull requests #92062
incr-patched: println
builds of regression-31157
)full
builds of webrender
)Rollup of 7 pull requests #92064
full
builds of keccak
)incr-patched: println
builds of regression-31157
)Avoid sorting in hash map stable hashing #91837
incr-full
builds of clap-rs
)incr-patched: println
builds of regression-31157
)rustdoc: Add UrlPartsBuilder
#91871
incr-patched: println
builds of regression-31157
)incr-unchanged
builds of helloworld
)Remove SymbolStr
#91957
full
builds of externs
)incr-patched: println
builds of regression-31157
)Rollup of 4 pull requests #92106
incr-unchanged
builds of helloworld
)incr-unchanged
builds of externs
)Eliminate ObligationCauseData
#91844
full
builds of coercions
)full
builds of wg-grammar
)rustdoc: make --passes
and --no-defaults
have no effect #91900
incr-unchanged
builds of externs
)incr-patched: println
builds of regression-31157
)Remove ‘speculative evaluation’ of predicates #92041
incr-unchanged
builds of regression-31157
)incr-unchanged
builds of deeply-nested
)Fully serialize AdtDef #91924
incr-unchanged
builds of issue-46449
)incr-full
builds of webrender-wrench
)ObligationCauseData
memcmp
for more array comparisonsvec::retain
performance