Skip to content

Rollup of 14 pull requests - #162333

Merged
rust-bors[bot] merged 77 commits into
rust-lang:mainfrom
Zalathar:rollup-DdpfsFl
Sep 5, 2026
Merged

Rollup of 14 pull requests#162333
rust-bors[bot] merged 77 commits into
rust-lang:mainfrom
Zalathar:rollup-DdpfsFl

Conversation

@Zalathar

@Zalathar Zalathar commented Sep 5, 2026

Copy link
Copy Markdown
Member

Successful merges:

r? @ghost

Create a similar rollup

The Miri Cronjob Bot and others added 30 commits August 26, 2026 04:31
This updates the rust-version file to 0f33d09.
This updates the rust-version file to d9dd070.
This updates the rust-version file to d0f2ef5.
add chacha20 target feature bug to trophy case
Installing cargo tools (`cargo install`) without locked dependencies exposes users to supply-chain attacks to all the dependencies of the tool (https://blog.rust-lang.org/2026/08/20/supply-chain-attack-on-arrayref/). Using `cargo install --locked` reduces this risk to a compromise of the tool itself, while using the locked and hashed version of the dependencies.

I went through all `rg "cargo install"` hits in the repository and added `--locked` to all but explanatory examples (such as cargo's docs on `cargo install` itself). I validated that those tools publish functioning `Cargo.lock`s with https://gist.github.com/konstin/bcb1169c1c1120c259dca64e777a64d0.
This updates the rust-version file to 17fd5b8.
…ocked

Install cargo tools with locked dependencies
Remove outdated reference to -Zsaturating-float-casts
use `portable_simd` vector types for `f16` tests
This updates the rust-version file to edc52f8.
This updates the rust-version file to 2e2b193.
@rustbot rustbot added O-SGX Target: SGX S-waiting-on-review Status: Awaiting review from the assignee but also interested parties. T-bootstrap Relevant to the bootstrap subteam: Rust's build system (x.py and src/bootstrap) T-compiler Relevant to the compiler team, which will review and decide on the PR/issue. T-infra Relevant to the infrastructure team, which will review and decide on the PR/issue. T-libs Relevant to the library team, which will review and decide on the PR/issue. labels Sep 5, 2026
@Zalathar

Zalathar commented Sep 5, 2026

Copy link
Copy Markdown
Member Author

Rollup of everything not in #162310.

@bors r+ rollup=never p=5

@rust-bors

rust-bors Bot commented Sep 5, 2026

Copy link
Copy Markdown
Contributor

📌 Commit e9c2c8b has been approved by Zalathar

It is now in the queue for this repository.

@rust-bors rust-bors Bot added S-waiting-on-bors Status: Waiting on bors to run and complete tests. Bors will change the label on completion. and removed S-waiting-on-review Status: Awaiting review from the assignee but also interested parties. labels Sep 5, 2026
@rust-bors

This comment has been minimized.

@rust-bors rust-bors Bot added merged-by-bors This PR was explicitly merged by bors. and removed S-waiting-on-bors Status: Waiting on bors to run and complete tests. Bors will change the label on completion. labels Sep 5, 2026
@rust-bors

rust-bors Bot commented Sep 5, 2026

Copy link
Copy Markdown
Contributor

☀️ Test successful - CI
Approved by: Zalathar
Duration: 3h 14m 4s
Pushing f207aa3 to main...

@github-actions

github-actions Bot commented Sep 5, 2026

Copy link
Copy Markdown
Contributor
What is this? This is an experimental post-merge analysis report that shows differences in test outcomes between the merged PR and its parent PR.

Comparing 546f07f (parent) -> f207aa3 (this PR)

Test differences

Show 664 test diffs

Stage 1

  • [coverage-map] tests/coverage/async/async_closure.rs: [missing] -> pass (J3)
  • [coverage-map] tests/coverage/async_block.rs: pass -> [missing] (J3)
  • [coverage-map] tests/coverage/async_closure.rs: pass -> [missing] (J3)
  • [coverage-map] tests/coverage/async_closure2.rs: pass -> [missing] (J3)
  • [coverage-map] tests/coverage/if-tail-expr.rs#no: [missing] -> pass (J3)
  • [coverage-map] tests/coverage/if-tail-stmt.rs#no: [missing] -> pass (J3)
  • [coverage-map] tests/coverage/if-tail-stmt.rs#yes: [missing] -> ignore (ignored when the test mode is coverage-map) (J3)
  • [coverage-map] tests/coverage/iffy/continue.rs: [missing] -> pass (J3)
  • [coverage-map] tests/coverage/iffy/issue-84561.rs: [missing] -> pass (J3)
  • [coverage-map] tests/coverage/iffy/match_or_pattern.rs: [missing] -> pass (J3)
  • [coverage-map] tests/coverage/iffy/nested_loops.rs: [missing] -> pass (J3)
  • [coverage-map] tests/coverage/iffy/try_error_result.rs: [missing] -> pass (J3)
  • [coverage-map] tests/coverage/inline.rs: pass -> [missing] (J3)
  • [coverage-map] tests/coverage/issue-85461.rs: pass -> [missing] (J3)
  • [coverage-map] tests/coverage/nested_loops.rs: pass -> [missing] (J3)
  • [coverage-map] tests/coverage/no_cov_crate.rs: pass -> [missing] (J3)
  • [coverage-map] tests/coverage/partial_eq.rs: pass -> [missing] (J3)
  • [coverage-map] tests/coverage/while_early_ret.rs: pass -> [missing] (J3)
  • [coverage-run] tests/coverage/async2.rs: ignore (ignored when the profiler runtime is not available) -> [missing] (J3)
  • [coverage-run] tests/coverage/await_ready.rs: ignore (ignored when the profiler runtime is not available) -> [missing] (J3)
  • [coverage-run] tests/coverage/continue.rs: ignore (ignored when the profiler runtime is not available) -> [missing] (J3)
  • [coverage-run] tests/coverage/for.rs#zero: [missing] -> ignore (ignored when the profiler runtime is not available) (J3)
  • [coverage-run] tests/coverage/if-tail-stmt.rs#no: [missing] -> ignore (ignored when the profiler runtime is not available) (J3)
  • [coverage-run] tests/coverage/if_else.rs: ignore (ignored when the profiler runtime is not available) -> [missing] (J3)
  • [coverage-run] tests/coverage/iffy/simple_match.rs: [missing] -> ignore (ignored when the profiler runtime is not available) (J3)
  • [coverage-map] tests/coverage/call-method.rs: [missing] -> ignore (ignored when the LLVM version 22.1.2 is older than 23.0.0) (J6)
  • [coverage-map] tests/coverage/iffy/coroutine.rs: [missing] -> ignore (ignored when the LLVM version 22.1.2 is older than 23.0.0) (J6)
  • [coverage-run] tests/coverage/iffy/coroutine.rs: [missing] -> ignore (ignored when the LLVM version 22.1.2 is older than 23.0.0) (J6)
  • [ui (polonius)] tests/ui/feature-gates/feature-gate-asm_experimental_reg.rs#loongarch: [missing] -> pass (J7)
  • [coverage-run] tests/coverage/coroutine.rs: ignore (ignored when the LLVM version 21.1.2 is older than 23.0.0) -> [missing] (J8)
  • [coverage-run] tests/coverage/yield.rs: ignore (ignored when the LLVM version 21.1.2 is older than 23.0.0) -> [missing] (J8)
  • [ui] tests/ui/feature-gates/feature-gate-asm_experimental_reg.rs#loongarch: [missing] -> pass (J11)

Stage 2

  • [coverage-run] tests/coverage/async/async_closure.rs: [missing] -> pass (J0)
  • [coverage-run] tests/coverage/async/closure_macro_async.rs: [missing] -> pass (J0)
  • [coverage-run] tests/coverage/async2.rs: pass -> [missing] (J0)
  • [coverage-run] tests/coverage/async_closure.rs: pass -> [missing] (J0)
  • [coverage-run] tests/coverage/await_ready.rs: pass -> [missing] (J0)
  • [coverage-run] tests/coverage/for.rs#zero: [missing] -> pass (J0)
  • [coverage-run] tests/coverage/iffy/closure.rs: [missing] -> pass (J0)
  • [coverage-run] tests/coverage/iffy/closure_macro.rs: [missing] -> pass (J0)
  • [coverage-run] tests/coverage/iffy/drop_trait.rs: [missing] -> pass (J0)
  • [coverage-run] tests/coverage/iffy/inline.rs: [missing] -> pass (J0)
  • [coverage-run] tests/coverage/iffy/panic_unwind.rs: [missing] -> pass (J0)
  • [coverage-run] tests/coverage/iffy/uses_inline_crate.rs: [missing] -> pass (J0)
  • [coverage-run] tests/coverage/inner_items.rs: pass -> [missing] (J0)
  • [coverage-run] tests/coverage/issue-83601.rs: pass -> [missing] (J0)
  • [coverage-run] tests/coverage/issue-93054.rs: pass -> [missing] (J0)
  • [coverage-run] tests/coverage/loops_branches.rs: pass -> [missing] (J0)
  • [coverage-run] tests/coverage/nested_loops.rs: pass -> [missing] (J0)
  • [coverage-map] tests/coverage/async/await_ready.rs: [missing] -> pass (J1)
  • [coverage-map] tests/coverage/async_block.rs: pass -> [missing] (J1)
  • [coverage-map] tests/coverage/closure.rs: pass -> [missing] (J1)
  • [coverage-map] tests/coverage/conditions.rs: pass -> [missing] (J1)
  • [coverage-map] tests/coverage/continue.rs: pass -> [missing] (J1)
  • [coverage-map] tests/coverage/if.rs: pass -> [missing] (J1)
  • [coverage-map] tests/coverage/iffy/inline.rs: [missing] -> pass (J1)
  • [coverage-map] tests/coverage/iffy/issue-85461.rs: [missing] -> pass (J1)
  • [coverage-map] tests/coverage/iffy/overflow.rs: [missing] -> pass (J1)
  • [coverage-map] tests/coverage/iffy/uses_crate.rs: [missing] -> pass (J1)
  • [coverage-map] tests/coverage/issue-83601.rs: pass -> [missing] (J1)
  • [coverage-map] tests/coverage/overflow.rs: pass -> [missing] (J1)
  • [coverage-map] tests/coverage/uses_crate.rs: pass -> [missing] (J1)
  • [coverage-run] tests/coverage/abort.rs: ignore (ignored when the profiler runtime is not available) -> [missing] (J2)
  • [coverage-run] tests/coverage/async/await_ready.rs: [missing] -> ignore (ignored when the profiler runtime is not available) (J2)
  • [coverage-run] tests/coverage/generics.rs: ignore (ignored when the profiler runtime is not available) -> [missing] (J2)
  • [coverage-run] tests/coverage/if-tail-expr.rs#yes: [missing] -> ignore (ignored when the profiler runtime is not available) (J2)
  • [coverage-run] tests/coverage/iffy/closure.rs: [missing] -> ignore (ignored when the profiler runtime is not available) (J2)
  • [coverage-run] tests/coverage/iffy/nested_loops.rs: [missing] -> ignore (ignored when the profiler runtime is not available) (J2)
  • [coverage-run] tests/coverage/iffy/no_cov_crate.rs: [missing] -> ignore (ignored when the profiler runtime is not available) (J2)
  • [coverage-run] tests/coverage/iffy/panic_unwind.rs: [missing] -> ignore (ignored when the profiler runtime is not available) (J2)
  • [coverage-run] tests/coverage/iffy/simple_loop.rs: [missing] -> ignore (ignored when the profiler runtime is not available) (J2)
  • [coverage-run] tests/coverage/iffy/uses_inline_crate.rs: [missing] -> ignore (ignored when the profiler runtime is not available) (J2)
  • [coverage-run] tests/coverage/iffy/while_early_ret.rs: [missing] -> ignore (ignored when the profiler runtime is not available) (J2)
  • [coverage-run] tests/coverage/nested_loops.rs: ignore (ignored when the profiler runtime is not available) -> [missing] (J2)
  • [coverage-run] tests/coverage/partial_eq.rs: ignore (ignored when the profiler runtime is not available) -> [missing] (J2)
  • [coverage-map] tests/coverage/iffy/yield.rs: [missing] -> ignore (ignored when the LLVM version 22.1.2 is older than 23.0.0) (J4)
  • [coverage-run] tests/coverage/async/async.rs: [missing] -> ignore (ignored when the LLVM version 22.1.2 is older than 23.0.0) (J4)
  • [coverage-run] tests/coverage/iffy/yield.rs: [missing] -> ignore (ignored when the LLVM version 22.1.2 is older than 23.0.0) (J4)
  • [coverage-run] tests/coverage/async/async_closure2.rs: [missing] -> ignore (ignored when cross-compiling) (J5)
  • [coverage-run] tests/coverage/async/await_ready.rs: [missing] -> ignore (ignored when cross-compiling) (J5)
  • [coverage-run] tests/coverage/call-method.rs: [missing] -> ignore (ignored when cross-compiling) (J5)
  • [coverage-run] tests/coverage/drop_trait.rs: ignore (ignored when cross-compiling) -> [missing] (J5)
  • [coverage-run] tests/coverage/generics.rs: ignore (ignored when cross-compiling) -> [missing] (J5)
  • [coverage-run] tests/coverage/if-tail-stmt.rs#no: [missing] -> ignore (ignored when cross-compiling) (J5)
  • [coverage-run] tests/coverage/if-tail-stmt.rs#yes: [missing] -> ignore (ignored when cross-compiling) (J5)
  • [coverage-run] tests/coverage/iffy/abort.rs: [missing] -> ignore (ignored when cross-compiling) (J5)
  • [coverage-run] tests/coverage/iffy/continue.rs: [missing] -> ignore (ignored when cross-compiling) (J5)
  • [coverage-run] tests/coverage/iffy/nested_loops.rs: [missing] -> ignore (ignored when cross-compiling) (J5)
  • [coverage-run] tests/coverage/iffy/no_cov_crate.rs: [missing] -> ignore (ignored when cross-compiling) (J5)
  • [coverage-run] tests/coverage/issue-85461.rs: ignore (ignored when cross-compiling) -> [missing] (J5)
  • [coverage-run] tests/coverage/overflow.rs: ignore (ignored when cross-compiling) -> [missing] (J5)
  • [coverage-run] tests/coverage/panic_unwind.rs: ignore (ignored when cross-compiling) -> [missing] (J5)
  • [coverage-run] tests/coverage/simple_match.rs: ignore (ignored when cross-compiling) -> [missing] (J5)
  • [coverage-run] tests/coverage/uses_crate.rs: ignore (ignored when cross-compiling) -> [missing] (J5)
  • [coverage-map] tests/coverage/coroutine.rs: pass -> [missing] (J9)
  • [coverage-map] tests/coverage/async/async.rs: [missing] -> ignore (ignored when the LLVM version 21.1.2 is older than 23.0.0) (J10)
  • [coverage-map] tests/coverage/coroutine.rs: ignore (ignored when the LLVM version 21.1.2 is older than 23.0.0) -> [missing] (J10)
  • [ui] tests/ui/feature-gates/feature-gate-asm_experimental_reg.rs: pass -> [missing] (J12)
  • [ui] tests/ui/feature-gates/feature-gate-asm_experimental_reg.rs#loongarch: [missing] -> ignore (gcc backend is marked as ignore) (J13)
  • [ui] tests/ui/const-generics/unsized-const-param-default.rs: [missing] -> pass (J14)

(and 521 additional test diffs)

Additionally, 43 doctest diffs were found. These are ignored, as they are noisy.

Job group index

Test dashboard

Run

cargo run --manifest-path src/ci/citool/Cargo.toml -- \
    test-dashboard f207aa3913114c3326bc0b88acbd12b10244edf8 --output-dir test-dashboard

And then open test-dashboard/index.html in your browser to see an overview of all executed tests.

Job duration changes

  1. x86_64-gnu-stdlib-semver-check: 10m 37s -> 18m 44s (+76.5%)
  2. i686-gnu-2: 56m 24s -> 1h 38m (+75.3%)
  3. x86_64-msvc-2: 1h 23m -> 2h 17m (+65.1%)
  4. x86_64-gnu-gcc-core-tests: 11m 15s -> 17m 59s (+59.9%)
  5. armhf-gnu: 1h -> 1h 34m (+55.4%)
  6. x86_64-gnu-llvm-21-1: 39m 18s -> 1h 1m (+55.3%)
  7. i686-gnu-nopt-2: 2h 21m -> 1h 17m (-45.1%)
  8. x86_64-gnu-gcc: 58m 12s -> 1h 23m (+44.0%)
  9. arm-android: 1h 20m -> 1h 54m (+41.5%)
  10. x86_64-mingw-1: 2h 8m -> 3h (+40.5%)
How to interpret the job duration changes?

Job durations can vary a lot, based on the actual runner instance
that executed the job, system noise, invalidated caches, etc. The table above is provided
mostly for t-infra members, for simpler debugging of potential CI slow-downs.

@Zalathar
Zalathar deleted the rollup-DdpfsFl branch September 5, 2026 23:26
@rust-timer

Copy link
Copy Markdown
Collaborator

Finished benchmarking commit (f207aa3): comparison URL.

Overall result: ❌✅ regressions and improvements - please read:

Our benchmarks found a performance regression caused by this PR.
This might be an actual regression, but it can also be just noise.

Next Steps:

  • If the regression was expected or you think it can be justified,
    please write a comment with sufficient written justification, and add
    @rustbot label: +perf-regression-triaged to it, to mark the regression as triaged.
  • If you think that you know of a way to resolve the regression, try to create
    a new PR with a fix for the regression.
  • If you do not understand the regression or you think that it is just noise,
    you can ask the @rust-lang/wg-compiler-performance working group for help (members of this group
    were already notified of this PR).

@rustbot label: +perf-regression
cc @rust-lang/wg-compiler-performance

Instruction count

Our most reliable metric. Used to determine the overall result above. However, even this metric can be noisy.

mean range count
Regressions ❌
(primary)
0.4% [0.1%, 0.7%] 94
Regressions ❌
(secondary)
0.3% [0.2%, 0.5%] 35
Improvements ✅
(primary)
-0.3% [-0.5%, -0.2%] 6
Improvements ✅
(secondary)
-0.3% [-0.5%, -0.2%] 12
All ❌✅ (primary) 0.3% [-0.5%, 0.7%] 100

Max RSS (memory usage)

Results (primary -1.0%, secondary -0.4%)

A less reliable metric. May be of interest, but not used to determine the overall result above.

mean range count
Regressions ❌
(primary)
3.1% [1.7%, 4.4%] 2
Regressions ❌
(secondary)
6.3% [6.3%, 6.3%] 1
Improvements ✅
(primary)
-2.6% [-3.4%, -1.3%] 5
Improvements ✅
(secondary)
-2.7% [-3.2%, -2.1%] 3
All ❌✅ (primary) -1.0% [-3.4%, 4.4%] 7

Cycles

This perf run didn't have relevant results for this metric.

Binary size

Results (primary -0.2%, secondary 0.0%)

A less reliable metric. May be of interest, but not used to determine the overall result above.

mean range count
Regressions ❌
(primary)
0.1% [0.0%, 0.6%] 15
Regressions ❌
(secondary)
0.2% [0.1%, 0.4%] 2
Improvements ✅
(primary)
-0.4% [-0.8%, -0.0%] 28
Improvements ✅
(secondary)
-0.1% [-0.4%, -0.0%] 4
All ❌✅ (primary) -0.2% [-0.8%, 0.6%] 43

Bootstrap: 478.607s -> 476.209s (-0.50%)
Artifact size: 403.33 MiB -> 403.34 MiB (0.00%)

@rustbot rustbot added the perf-regression Performance regression. label Sep 6, 2026
@rust-bors

rust-bors Bot commented Sep 6, 2026

Copy link
Copy Markdown
Contributor

📌 Perf builds for each rolled up PR:

PR# Message Perf Build Sha
#162324 miri subtree update bcfac7bc7c4ab403df7eacb0640b08c9da87a828
(link)
#162170 bootstrap: use target's LLVM libdir when cross-compiling ed70aac2d7a85e86a4ecbc5cfebaa411ab3c69cf
(link)
#158312 Adds support for AArch64 SVE to inline assembly 778219a939da6ae5b2d963da6d93e5f6515c3ba7
(link)
#159792 A more readable debug map for IndexMaps ❌ build failed
#160745 make closures act like MaybeDangling bb0edf2b22c4824af883f96b389d8dc68bee1359
(link)
#161263 break rustc_expand-rustc_middle dependency 987753ac14437bd03f6b9ff6f28050faf3ab7828
(link)
#161895 std::sys::pal::sgx: fix mismatched alloc/free alignment 72822eaee4f402d3db5b34455e6769bd2d5bd36b
(link)
#161940 Promote wasm32-wasip3 to a tier 2 target f3e6d87ff81a92e69d670f7606c9ea75a139699d
(link)
#161397 coverage: Tidy tests and add some new ones 846433946c93b874cbfc40825360088d8783cfd5
(link)
#161616 Report precondition violation for `::g… bee0ce465cdbb76ff6c5e9418aa6edd3a4247979
(link)
#162248 Add regression test for unsized const parameter default ICE 8b1b8ac2400a166d0b4742c20f70df5e8952368e
(link)
#162250 Fix hashing of span end columns in incremental compilation 6f0ae4f7cbd82fc7fc369395030c769220fd595b
(link)
#162265 cargotest: add lockfiles a3eece72c2ed365882df41d383af09181f675657
(link)
#162318 bootstrap: Fix broken path for `./x doc compiler/rustc --op… 63334feb140336a297d0103dc4af01612df87903
(link)

parent commit: 546f07f6ee

In the case of a perf regression, run the following command for each PR you suspect might be the cause: @rust-timer build $SHA

@Zalathar

Zalathar commented Sep 6, 2026

Copy link
Copy Markdown
Member Author

Let's start with the subset that look like they could cause regressions.

@rust-timer triage 778219a bb0edf2 987753a bee0ce4 6f0ae4f

@rust-timer

rust-timer commented Sep 6, 2026

Copy link
Copy Markdown
Collaborator
Running triage with 32 benchmarks

Triage only executes the benchmarks on rollup members, that were changed significantly on the rollup.
For this rollup, these benchmarks are:

  • await-call-tree
  • bitmaps-3.2.1
  • cargo-0.87.1
  • clap_derive-4.5.32
  • clap_derive-4.5.32-nll
  • coercions
  • cranelift-codegen-0.119.0
  • deep-vector
  • diesel-2.2.10
  • externs
  • eza-0.21.2
  • hyper-1.6.0
  • image-0.25.6
  • issue-58319
  • libc-0.2.172
  • many-assoc-items
  • nalgebra-0.33.0
  • regex-automata-0.4.8
  • regression-31157
  • ripgrep-14.1.1
  • ripgrep-14.1.1-nll
  • serde-1.0.219
  • serde-1.0.219-nll
  • serde-1.0.219-threads4
  • serde_derive-1.0.219
  • stm32f4-0.15.1
  • syn-2.0.101
  • tuple-stress
  • typenum-1.18.0
  • ucd
  • wf-projection-stress-65510
  • wg-grammar

#158312 778219a Adds support for AArch64 SVE to inline assembly

Instruction count

This perf run didn't have relevant results for this metric.

Max RSS (memory usage)

Results (primary -1.9%, secondary -0.3%)

A less reliable metric. May be of interest, but not used to determine the overall result above.

mean range count
Regressions ❌
(primary)
- - 0
Regressions ❌
(secondary)
5.9% [5.9%, 5.9%] 1
Improvements ✅
(primary)
-1.9% [-2.7%, -1.2%] 4
Improvements ✅
(secondary)
-2.4% [-2.6%, -2.0%] 3
All ❌✅ (primary) -1.9% [-2.7%, -1.2%] 4

Cycles

This perf run didn't have relevant results for this metric.

Binary size

Results (primary 0.0%, secondary 0.1%)

A less reliable metric. May be of interest, but not used to determine the overall result above.

mean range count
Regressions ❌
(primary)
0.0% [0.0%, 0.1%] 11
Regressions ❌
(secondary)
0.1% [0.1%, 0.1%] 3
Improvements ✅
(primary)
- - 0
Improvements ✅
(secondary)
- - 0
All ❌✅ (primary) 0.0% [0.0%, 0.1%] 11

#160745 bb0edf2 make closures act like MaybeDangling

Instruction count

Our most reliable metric. Used to determine the overall result above. However, even this metric can be noisy.

mean range count
Regressions ❌
(primary)
0.4% [0.1%, 0.7%] 71
Regressions ❌
(secondary)
0.3% [0.2%, 0.5%] 26
Improvements ✅
(primary)
-0.3% [-0.4%, -0.2%] 6
Improvements ✅
(secondary)
-0.3% [-0.4%, -0.2%] 9
All ❌✅ (primary) 0.3% [-0.4%, 0.7%] 77

Max RSS (memory usage)

Results (primary 0.9%, secondary 1.5%)

A less reliable metric. May be of interest, but not used to determine the overall result above.

mean range count
Regressions ❌
(primary)
3.1% [1.7%, 4.6%] 2
Regressions ❌
(secondary)
4.5% [2.1%, 7.2%] 6
Improvements ✅
(primary)
-3.6% [-3.6%, -3.6%] 1
Improvements ✅
(secondary)
-7.3% [-7.4%, -7.2%] 2
All ❌✅ (primary) 0.9% [-3.6%, 4.6%] 3

Cycles

Results (secondary 1.2%)

A less reliable metric. May be of interest, but not used to determine the overall result above.

mean range count
Regressions ❌
(primary)
- - 0
Regressions ❌
(secondary)
2.4% [2.1%, 2.8%] 3
Improvements ✅
(primary)
- - 0
Improvements ✅
(secondary)
-2.4% [-2.4%, -2.4%] 1
All ❌✅ (primary) - - 0

Binary size

Results (primary -0.2%, secondary -0.0%)

A less reliable metric. May be of interest, but not used to determine the overall result above.

mean range count
Regressions ❌
(primary)
0.1% [0.0%, 0.6%] 10
Regressions ❌
(secondary)
- - 0
Improvements ✅
(primary)
-0.4% [-0.8%, -0.0%] 28
Improvements ✅
(secondary)
-0.0% [-0.0%, -0.0%] 3
All ❌✅ (primary) -0.2% [-0.8%, 0.6%] 38

#161263 987753a break rustc_expand-rustc_middle dependency

Instruction count

This perf run didn't have relevant results for this metric.

Max RSS (memory usage)

Results (primary -2.1%, secondary 6.0%)

A less reliable metric. May be of interest, but not used to determine the overall result above.

mean range count
Regressions ❌
(primary)
- - 0
Regressions ❌
(secondary)
6.0% [6.0%, 6.0%] 1
Improvements ✅
(primary)
-2.1% [-2.1%, -2.1%] 1
Improvements ✅
(secondary)
- - 0
All ❌✅ (primary) -2.1% [-2.1%, -2.1%] 1

Cycles

Results (primary 3.1%, secondary 2.9%)

A less reliable metric. May be of interest, but not used to determine the overall result above.

mean range count
Regressions ❌
(primary)
3.1% [3.1%, 3.1%] 1
Regressions ❌
(secondary)
2.9% [2.9%, 2.9%] 1
Improvements ✅
(primary)
- - 0
Improvements ✅
(secondary)
- - 0
All ❌✅ (primary) 3.1% [3.1%, 3.1%] 1

Binary size

Results (primary 0.0%, secondary 0.1%)

A less reliable metric. May be of interest, but not used to determine the overall result above.

mean range count
Regressions ❌
(primary)
0.0% [0.0%, 0.1%] 15
Regressions ❌
(secondary)
0.1% [0.0%, 0.1%] 5
Improvements ✅
(primary)
- - 0
Improvements ✅
(secondary)
- - 0
All ❌✅ (primary) 0.0% [0.0%, 0.1%] 15

#161616 bee0ce4 Report precondition violation for <usize as SliceIndex>::get_unchecked in const-eval

Instruction count

This perf run didn't have relevant results for this metric.

Max RSS (memory usage)

Results (secondary -0.3%)

A less reliable metric. May be of interest, but not used to determine the overall result above.

mean range count
Regressions ❌
(primary)
- - 0
Regressions ❌
(secondary)
5.7% [5.7%, 5.7%] 1
Improvements ✅
(primary)
- - 0
Improvements ✅
(secondary)
-6.4% [-6.4%, -6.4%] 1
All ❌✅ (primary) - - 0

Cycles

This perf run didn't have relevant results for this metric.

Binary size

Results (primary 0.0%, secondary 0.1%)

A less reliable metric. May be of interest, but not used to determine the overall result above.

mean range count
Regressions ❌
(primary)
0.0% [0.0%, 0.1%] 11
Regressions ❌
(secondary)
0.1% [0.1%, 0.1%] 3
Improvements ✅
(primary)
- - 0
Improvements ✅
(secondary)
- - 0
All ❌✅ (primary) 0.0% [0.0%, 0.1%] 11

#162250 6f0ae4f Fix hashing of span end columns in incremental compilation

Instruction count

Our most reliable metric. Used to determine the overall result above. However, even this metric can be noisy.

mean range count
Regressions ❌
(primary)
- - 0
Regressions ❌
(secondary)
0.3% [0.2%, 0.3%] 5
Improvements ✅
(primary)
- - 0
Improvements ✅
(secondary)
- - 0
All ❌✅ (primary) - - 0

Max RSS (memory usage)

Results (secondary 6.6%)

A less reliable metric. May be of interest, but not used to determine the overall result above.

mean range count
Regressions ❌
(primary)
- - 0
Regressions ❌
(secondary)
6.6% [6.6%, 6.6%] 1
Improvements ✅
(primary)
- - 0
Improvements ✅
(secondary)
- - 0
All ❌✅ (primary) - - 0

Cycles

Results (primary 2.5%, secondary 3.4%)

A less reliable metric. May be of interest, but not used to determine the overall result above.

mean range count
Regressions ❌
(primary)
2.5% [2.5%, 2.5%] 1
Regressions ❌
(secondary)
3.4% [3.4%, 3.4%] 1
Improvements ✅
(primary)
- - 0
Improvements ✅
(secondary)
- - 0
All ❌✅ (primary) 2.5% [2.5%, 2.5%] 1

Binary size

Results (primary 0.0%, secondary 0.1%)

A less reliable metric. May be of interest, but not used to determine the overall result above.

mean range count
Regressions ❌
(primary)
0.0% [0.0%, 0.1%] 11
Regressions ❌
(secondary)
0.1% [0.1%, 0.1%] 3
Improvements ✅
(primary)
- - 0
Improvements ✅
(secondary)
- - 0
All ❌✅ (primary) 0.0% [0.0%, 0.1%] 11

@JonathanBrouwer

Copy link
Copy Markdown
Member

@rustbot label: +perf-regression-triaged
Explained by #160745 and #162250

@rustbot rustbot added the perf-regression-triaged The performance regression has been triaged. label Sep 6, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

A-CI Area: Our Github Actions CI A-LLVM Area: Code generation parts specific to LLVM. Both correctness bugs and optimization-related issues. A-testsuite Area: The testsuite used to check the correctness of rustc merged-by-bors This PR was explicitly merged by bors. O-SGX Target: SGX perf-regression Performance regression. perf-regression-triaged The performance regression has been triaged. rollup A PR which is a rollup T-bootstrap Relevant to the bootstrap subteam: Rust's build system (x.py and src/bootstrap) T-compiler Relevant to the compiler team, which will review and decide on the PR/issue. T-infra Relevant to the infrastructure team, which will review and decide on the PR/issue. T-libs Relevant to the library team, which will review and decide on the PR/issue.

Projects

None yet

Development

Successfully merging this pull request may close these issues.