This week, there were a number of cases where the incr-unchanged
variants of inflate
went up or down by 5% to 6%; we believe these are instances of increased noise in benchmarks documented on rustc-perf#1105. I was tempted to remove these from the report, but its non-trivial to re-construct the report “as if” some benchmark were omitted.
Otherwise, there were some nice wins for performance. For example, PR #90996 more than halved the compilation time for full
builds of diesel
by revising how we hash ObligationCauseData
. If anyone is interested, it might be good to follow-up on the effects of PR #90352, “Simplify for
loop desugar”, where we have hypothesized that the increased compilation time is due to more LLVM optimizations being applied.
Triage done by @pnkfelix. Revision range: 934624fe..22c2d9dd
1 Regressions, 3 Improvements, 8 Mixed; 3 of them in rollups 34 comparisons made in total
rustdoc: Make two small cleanups #91073
incr-unchanged
builds of inflate
)Rollup of 7 pull requests #90966
incr-unchanged
builds of inflate
)Optimize impl Hash for ObligationCauseData
by not hashing ObligationCauseCode
variant fields #90996
full
builds of diesel
)Avoid documenting top-level private imports #91094
full
builds of webrender-wrench
)rustdoc: Cleanup DocFragment
#91034
full
builds of serde
)libcore: assume the input of next_code_point
and next_code_point_reverse
is UTF-8-like #89611
full
builds of encoding
)Remove DropArena
. #90919
incr-patched: println
builds of clap-rs
)incr-unchanged
builds of inflate
)std: Get the standard library compiling for wasm64 #90382
incr-unchanged
builds of clap-rs
)incr-unchanged
builds of issue-88862
)compiler_builtins
and dlmalloc
). We probably shoud have done a pre-merge rust-timer run on this PR.Rollup of 8 pull requests #91019
incr-unchanged
builds of style-servo
)full
builds of await-call-tree
)Implement clone_from
for State
#90535
full
builds of many-assoc-items
)incr-unchanged
builds of inflate
)Update stdarch #91052
incr-unchanged
builds of inflate
)incr-patched: println
builds of html5ever
)Point at source of trait bound obligations in more places #89580
incr-unchanged
builds of inflate
)incr-unchanged
builds of wg-grammar
)inflate
.)?
(“noisy”), there are 19 benchmarks that regressed by 0.10% to 0.42%. This seems like an acceptable cost.Simplify for
loop desugar #90352
incr-full
builds of clap-rs
)full
builds of regex
)-opt
builds and solely part of the time spent in LLVM, so I‘m hoping it’s that more optimizations apply now (and worst case some optimizations require more work but don't result in better code).”Manually outline error on incremental_verify_ich #89883
incr-unchanged
builds of clap-rs
)incr-unchanged
builds of coercions
)coercions
.rustc_query_impl
, the laggard at over 80 seconds of compilation time).rustc_query_impl
from 87.1 seconds down to 85.6 seconds, a -1.8% improvement.rustc_index::newtype_index
macroreverse
is UB, so replace it with something LLVM can vectorizedist
command to match the components they generateclone_from
for State
DocContext.{ty,lt,ct}_substs
into one mapconst_raw_ptr_deref
for *const T
tcx.get_diagnostic_name