Skip to content

Rollup of 20 pull requests - #164894

Merged
rust-bors[bot] merged 72 commits into
rust-lang:mainfrom
JonathanBrouwer:rollup-fyOlw75
Oct 25, 2026
Merged

rust-bors[bot] merged 72 commits into
rust-lang:mainfrom
JonathanBrouwer:rollup-fyOlw75

Conversation

@JonathanBrouwer

@JonathanBrouwer JonathanBrouwer commented Oct 25, 2026 •

Copy link
Copy Markdown
Member

View all comments

Successful merges:

r? @ghost

Create a similar rollup

xtqqczze and others added 30 commits May 29, 2026 21:21
Currently `Debug` only prints the raw value: 

    ExitStatus(
        unix_wait_status(
            139,
        ),
    )

That isn't very meaningful on its own since you may have to manually
decode the value to understand what happened. Change the implementation
to also include the `Display` representation, which provides more
user-friendly details.

    ExitStatus(
        unix_wait_status(139, "signal: 11 (SIGSEGV) (core dumped)"),
    )
…round

Remove /tmp workaround now that rustdoc fixed the disk usage issue
Remove integer packing workaround and replace by the new_array_from_bytes API to reduce RAM usage
Use correct alignment for global variables
Make const strings readonly and remove the pointer indirection
…ures

Fix to use target features from a target spec
@github-actions

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 dc44e7f (parent) -> 7d0f9b4 (this PR)

Test differences

Show 8649 test diffs

Stage 1

  • [ui] tests/ui/coercion/fudge-inference/closure-input-in-fn-ptr-arg-162109.rs#current: [missing] -> pass (J0)
  • [ui] tests/ui/coercion/fudge-inference/closure-input-in-fn-ptr-arg-162109.rs#next: [missing] -> pass (J0)
  • [ui] tests/ui/reborrow/coerce-shared-alias-projection.rs: [missing] -> pass (J0)
  • [ui] tests/ui/reborrow/coerce-shared-different-layout.rs: [missing] -> pass (J0)
  • [ui] tests/ui/reborrow/coerce-shared-marker-no-target-lifetime.rs: [missing] -> pass (J0)
  • [ui] tests/ui/reborrow/coerce-shared-multi-field.rs: [missing] -> pass (J0)
  • [ui] tests/ui/reborrow/coerce-shared-nested.rs: [missing] -> pass (J0)
  • [ui] tests/ui/reborrow/coerce-shared-tuple-phantom-position.rs: [missing] -> pass (J0)
  • [ui] tests/ui/reborrow/corrected-field-mismatch-coerce-shared.rs: [missing] -> pass (J0)
  • [ui] tests/ui/reborrow/invalid-coerce-shared-in-const.rs: [missing] -> pass (J0)
  • [ui] tests/ui/reborrow/invalid-coerce-shared-next-solver.rs: [missing] -> pass (J0)
  • [ui] tests/ui/reborrow/invalid-coerce-shared-non-ref-target-field.rs: [missing] -> pass (J0)
  • [ui] tests/ui/reborrow/invalid-coerce-shared-static-mut-field.rs: [missing] -> pass (J0)
  • [ui] tests/ui/reborrow/invalid-reborrow-derive-const-param.rs: [missing] -> pass (J0)
  • [ui] tests/ui/reborrow/invalid-reborrow-impl-no-lifetime.rs: [missing] -> pass (J0)
  • [ui] tests/ui/reborrow/invalid-reborrow-impl-phantom-data-wrong-generics.rs: [missing] -> pass (J0)
  • [ui] tests/ui/reborrow/missing-generic-args-coerce-shared.rs: [missing] -> pass (J0)
  • os::unix::fs::tests::read_buf_exact_at_interrupted: [missing] -> pass (J2)
  • sys::process::unix::unix::tests::exitstatus_debug_display_tests: [missing] -> pass (J2)
  • sys::process::unix::unix::tests::exitstatus_display_tests: pass -> [missing] (J2)
  • [ui (polonius)] tests/ui/coercion/fudge-inference/closure-input-in-fn-ptr-arg-162109.rs#current: [missing] -> pass (J3)
  • [ui (polonius)] tests/ui/coercion/fudge-inference/closure-input-in-fn-ptr-arg-162109.rs#next: [missing] -> pass (J3)
  • [ui (polonius)] tests/ui/reborrow/coerce-shared-alias-projection.rs: [missing] -> pass (J3)
  • [ui (polonius)] tests/ui/reborrow/coerce-shared-different-layout.rs: [missing] -> pass (J3)
  • [ui (polonius)] tests/ui/reborrow/coerce-shared-marker-no-target-lifetime.rs: [missing] -> pass (J3)
  • [ui (polonius)] tests/ui/reborrow/coerce-shared-multi-field.rs: [missing] -> pass (J3)
  • [ui (polonius)] tests/ui/reborrow/coerce-shared-nested.rs: [missing] -> pass (J3)
  • [ui (polonius)] tests/ui/reborrow/coerce-shared-tuple-phantom-position.rs: [missing] -> pass (J3)
  • [ui (polonius)] tests/ui/reborrow/corrected-field-mismatch-coerce-shared.rs: [missing] -> pass (J3)
  • [ui (polonius)] tests/ui/reborrow/invalid-coerce-shared-in-const.rs: [missing] -> pass (J3)
  • [ui (polonius)] tests/ui/reborrow/invalid-coerce-shared-next-solver.rs: [missing] -> pass (J3)
  • [ui (polonius)] tests/ui/reborrow/invalid-coerce-shared-non-ref-target-field.rs: [missing] -> pass (J3)
  • [ui (polonius)] tests/ui/reborrow/invalid-coerce-shared-static-mut-field.rs: [missing] -> pass (J3)
  • [ui (polonius)] tests/ui/reborrow/invalid-reborrow-derive-const-param.rs: [missing] -> pass (J3)
  • [ui (polonius)] tests/ui/reborrow/invalid-reborrow-impl-no-lifetime.rs: [missing] -> pass (J3)
  • [ui (polonius)] tests/ui/reborrow/invalid-reborrow-impl-phantom-data-wrong-generics.rs: [missing] -> pass (J3)
  • [ui (polonius)] tests/ui/reborrow/missing-generic-args-coerce-shared.rs: [missing] -> pass (J3)
  • [crashes] tests/crashes/reborrow/coerce-shared-alias-projection.rs: pass -> [missing] (J5)
  • [crashes] tests/crashes/reborrow/coerce-shared-different-layout.rs: pass -> [missing] (J5)
  • [crashes] tests/crashes/reborrow/coerce-shared-marker-no-target-lifetime.rs: pass -> [missing] (J5)
  • [crashes] tests/crashes/reborrow/coerce-shared-multi-field.rs: pass -> [missing] (J5)
  • [crashes] tests/crashes/reborrow/coerce-shared-nested.rs: pass -> [missing] (J5)
  • [crashes] tests/crashes/reborrow/coerce-shared-tuple-phantom-position.rs: pass -> [missing] (J5)
  • [crashes] tests/crashes/reborrow/corrected-field-mismatch-coerce-shared-issue-156315.rs: pass -> [missing] (J5)
  • [crashes] tests/crashes/reborrow/missing-generic-args-coerce-shared-issue-156315.rs: pass -> [missing] (J5)
  • [rustdoc-html] tests/rustdoc-html/inline_local/document-private-reexports.rs: [missing] -> pass (J5)
  • string::bench_from_escape_default_ascii: [missing] -> pass (J8)
  • string::bench_from_escape_default_multibyte: [missing] -> pass (J8)
  • string::test_from_escaped_str: [missing] -> pass (J8)

Stage 2

  • [crashes] tests/crashes/reborrow/coerce-shared-alias-projection.rs: pass -> [missing] (J1)
  • [crashes] tests/crashes/reborrow/coerce-shared-different-layout.rs: pass -> [missing] (J1)
  • [crashes] tests/crashes/reborrow/coerce-shared-marker-no-target-lifetime.rs: pass -> [missing] (J1)
  • [crashes] tests/crashes/reborrow/coerce-shared-multi-field.rs: pass -> [missing] (J1)
  • [crashes] tests/crashes/reborrow/coerce-shared-nested.rs: pass -> [missing] (J1)
  • [crashes] tests/crashes/reborrow/coerce-shared-tuple-phantom-position.rs: pass -> [missing] (J1)
  • [crashes] tests/crashes/reborrow/corrected-field-mismatch-coerce-shared-issue-156315.rs: pass -> [missing] (J1)
  • [crashes] tests/crashes/reborrow/missing-generic-args-coerce-shared-issue-156315.rs: pass -> [missing] (J1)
  • [ui] tests/ui/coercion/fudge-inference/closure-input-in-fn-ptr-arg-162109.rs#current: [missing] -> pass (J4)
  • [ui] tests/ui/coercion/fudge-inference/closure-input-in-fn-ptr-arg-162109.rs#next: [missing] -> pass (J4)
  • [ui] tests/ui/reborrow/coerce-shared-alias-projection.rs: [missing] -> pass (J4)
  • [ui] tests/ui/reborrow/coerce-shared-different-layout.rs: [missing] -> pass (J4)
  • [ui] tests/ui/reborrow/coerce-shared-marker-no-target-lifetime.rs: [missing] -> pass (J4)
  • [ui] tests/ui/reborrow/coerce-shared-multi-field.rs: [missing] -> pass (J4)
  • [ui] tests/ui/reborrow/coerce-shared-nested.rs: [missing] -> pass (J4)
  • [ui] tests/ui/reborrow/coerce-shared-tuple-phantom-position.rs: [missing] -> pass (J4)
  • [ui] tests/ui/reborrow/corrected-field-mismatch-coerce-shared.rs: [missing] -> pass (J4)
  • [ui] tests/ui/reborrow/invalid-coerce-shared-in-const.rs: [missing] -> pass (J4)
  • [ui] tests/ui/reborrow/invalid-coerce-shared-next-solver.rs: [missing] -> pass (J4)
  • [ui] tests/ui/reborrow/invalid-coerce-shared-non-ref-target-field.rs: [missing] -> pass (J4)
  • [ui] tests/ui/reborrow/invalid-coerce-shared-static-mut-field.rs: [missing] -> pass (J4)
  • [ui] tests/ui/reborrow/invalid-reborrow-derive-const-param.rs: [missing] -> pass (J4)
  • [ui] tests/ui/reborrow/invalid-reborrow-impl-no-lifetime.rs: [missing] -> pass (J4)
  • [ui] tests/ui/reborrow/invalid-reborrow-impl-phantom-data-wrong-generics.rs: [missing] -> pass (J4)
  • [ui] tests/ui/reborrow/missing-generic-args-coerce-shared.rs: [missing] -> pass (J4)
  • string::bench_from_escape_default_ascii: [missing] -> pass (J6)
  • string::bench_from_escape_default_multibyte: [missing] -> pass (J6)
  • os::unix::fs::tests::read_buf_exact_at_interrupted: [missing] -> pass (J7)
  • sys::process::unix::unix::tests::exitstatus_debug_display_tests: [missing] -> pass (J7)
  • sys::process::unix::unix::tests::exitstatus_display_tests: pass -> [missing] (J7)
  • [rustdoc-html] tests/rustdoc-html/inline_local/document-private-reexports.rs: [missing] -> pass (J9)
  • string::test_from_escaped_str: [missing] -> pass (J10)

Additionally, 8568 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 7d0f9b4ec5b8de471b47bd554c788f05dab55713 --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. dist-x86_64-msvc-alt: 1h 41m -> 2h 47m (+63.9%)
  2. test-x86_64-gnu-llvm-22: 34m 39s -> 56m 31s (+63.1%)
  3. dist-x86_64-mingw: 1h 48m -> 2h 40m (+47.7%)
  4. test-aarch64-apple-1: 1h 27m -> 2h 5m (+43.7%)
  5. test-x86_64-msvc-ext2: 1h 50m -> 1h 3m (-42.5%)
  6. dist-aarch64-apple: 1h 43m -> 2h 27m (+41.6%)
  7. test-x86_64-msvc-ext3: 1h 55m -> 1h 8m (-40.9%)
  8. dist-powerpc64le-linux-musl: 1h 9m -> 1h 37m (+40.2%)
  9. test-i686-gnu-nopt-2: 2h 26m -> 1h 28m (-39.9%)
  10. dist-powerpc64-linux-gnu: 1h 10m -> 1h 37m (+39.2%)
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.

@rust-bors

rust-bors Bot commented Oct 25, 2026

Copy link
Copy Markdown
Contributor

📌 Perf builds for each rolled up PR:

PR# Message Perf Build Sha
#160404 fd-views: AsRef&Co. for BorrowedFd 1dd72d5cd38576cb33d458ef03b8ec21b900fe92
(link)
#161362 rustdoc: Correctly handle reexports when --document-privat… 2c386ff749d4a1e846f82f1f82563700606ac2c9
(link)
#163769 reborrow: Fix various ICEs related to auto reborrowing of u… 7a7d05359ef4e07f0970a38d0f44d2965cd6d534
(link)
#164764 Test(lib/sync): Fix test_rwlock_max_readers for 32bit arc… 334f5c7c5263526434b98a6a39be644f296da2ad
(link)
#164860 std::fs: read interrupted by a signal, read_buf_exact_at re… b83b7e7709c131f40267dcda551064accf498986
(link)
#164869 rustc_codegen_gcc subtree update d01304fc36ab7e4e1520212842c8f8903c947f06
(link)
#157123 library: optimize truncate method 55df60b60603dcee0392e817b19834973a763f9a
(link)
#159916 Optimize str.escape_default().to_string() b3b9be4e06c1a01ec138b21ef5f41d0807e2ee39
(link)
#163510 process: Improve the output of Debug for ExitStatus on … 861ffa6483569eeef782a70c38cb54d3bb09d856
(link)
#164508 ping me for layout invariant changes 7559ed78a5b79fe77dd5de8b9505a27d8f3c37c2
(link)
#164758 Update dependency jinja2 to v3.1.6 [SECURITY] f887d56402d8da43cbd701611ebe0c5d3a02d0e5
(link)
#164816 Take the colon span into account for struct field initializ… 48de5070b7258b4949654420baca7f676d75f0a0
(link)
#164836 Add regression test for #162109 963fb4c17f0d1c0ef9fb808575e3b600d190ae03
(link)
#164846 Remove contradictory inequalities from overflow safety docs 6e0647f5fbe4fde5d99bb600dd3dc2b067cd5d34
(link)
#164857 Do not checkout Cargo for bootstrap tests b20c0e769ca2ef646adafb86cdd698c4fa640653
(link)
#164868 Fix skipping library build with --keep-stage[-std] da7ba0788dbbdd5214551a9985414e8ec9b3f967
(link)
#164872 cg_llvm: clarify Send / Sync story for modules d5b4483859fc0e75912679a6c7b6f26d8a065d9c
(link)
#164880 Add context span showing item that can't be annotated a0e03c6b70040bda232e3e100ce8090fcdc924e6
(link)
#164881 Add FIXME comments to from_ascii_bytes_radix_impl 406d1dc7675b6bc612ca36524337c0e762ab0a02
(link)
#164884 Windows: bounds-check the reparse point name in read_link 20d50d2ec2072de833b2f7db26cbcc2d47f51f49
(link)

parent commit: dc44e7f2c4

In the case of a perf regression, run the following command with the SHAs of each PR you suspect might be the cause: @rust-timer triage $SHA $SHA $SHA..., or run @rust-timer triage all to benchmark all rollup members.

@rust-timer

Copy link
Copy Markdown
Collaborator

Finished benchmarking commit (7d0f9b4): comparison URL.

Overall result: ❌ regressions - 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.8% [0.1%, 7.9%] 23
Regressions ❌
(secondary)
22.1% [0.1%, 189.6%] 10
Improvements ✅
(primary)
- - 0
Improvements ✅
(secondary)
- - 0
All ❌✅ (primary) 0.8% [0.1%, 7.9%] 23

Max RSS (memory usage)

Results (primary 0.4%, secondary 8.7%)

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

mean range count
Regressions ❌
(primary)
2.0% [0.7%, 4.5%] 8
Regressions ❌
(secondary)
27.8% [20.2%, 35.5%] 2
Improvements ✅
(primary)
-0.7% [-1.5%, -0.4%] 11
Improvements ✅
(secondary)
-0.8% [-1.4%, -0.5%] 4
All ❌✅ (primary) 0.4% [-1.5%, 4.5%] 19

Cycles

Results (primary 1.0%, secondary 16.3%)

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

mean range count
Regressions ❌
(primary)
1.4% [0.4%, 5.6%] 13
Regressions ❌
(secondary)
25.1% [0.5%, 166.8%] 8
Improvements ✅
(primary)
-0.9% [-1.0%, -0.7%] 3
Improvements ✅
(secondary)
-1.2% [-2.6%, -0.6%] 4
All ❌✅ (primary) 1.0% [-1.0%, 5.6%] 16

Binary size

Results (primary 1.2%, secondary 0.5%)

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

mean range count
Regressions ❌
(primary)
1.7% [0.5%, 3.6%] 11
Regressions ❌
(secondary)
0.5% [0.4%, 0.5%] 34
Improvements ✅
(primary)
-0.2% [-0.3%, -0.0%] 4
Improvements ✅
(secondary)
- - 0
All ❌✅ (primary) 1.2% [-0.3%, 3.6%] 15

Bootstrap: 487.351s -> 490.188s (0.58%)
Artifact size: 405.87 MiB -> 405.91 MiB (0.01%)

@rustbot rustbot added the perf-regression Performance regression. label Oct 25, 2026
@JonathanBrouwer

Copy link
Copy Markdown
Member Author

@rust-timer triage all

@rust-timer

rust-timer commented Oct 25, 2026 •

Copy link
Copy Markdown
Collaborator
Running triage with 23 benchmarks

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

  • cargo-0.87.1
  • clap_derive-4.5.32
  • clap_derive-4.5.32-nll
  • cranelift-codegen-0.119.0
  • externs
  • eza-0.21.2
  • html5ever-0.31.0
  • hyper-1.6.0
  • image-0.25.6
  • include-blob
  • nalgebra-0.33.0
  • regex-automata-0.4.8
  • ripgrep-14.1.1
  • ripgrep-14.1.1-nll
  • ripgrep-14.1.1-tiny
  • serde-1.0.219
  • serde-1.0.219-nll
  • serde_derive-1.0.219
  • syn-2.0.101
  • tokio-1.53.1
  • typenum-1.18.0
  • unicode-normalization-0.1.24
  • unused-warnings

#160404 1dd72d5 fd-views: AsRef&Co. for BorrowedFd

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.0%, 0.5%] 12
Improvements ✅
(primary)
- - 0
Improvements ✅
(secondary)
- - 0
All ❌✅ (primary) - - 0

Max RSS (memory usage)

Results (primary 0.8%)

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

mean range count
Regressions ❌
(primary)
0.8% [0.5%, 1.3%] 10
Regressions ❌
(secondary)
- - 0
Improvements ✅
(primary)
- - 0
Improvements ✅
(secondary)
- - 0
All ❌✅ (primary) 0.8% [0.5%, 1.3%] 10

Cycles

Results (primary -0.2%)

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

mean range count
Regressions ❌
(primary)
0.8% [0.4%, 1.8%] 5
Regressions ❌
(secondary)
- - 0
Improvements ✅
(primary)
-0.8% [-1.4%, -0.5%] 8
Improvements ✅
(secondary)
- - 0
All ❌✅ (primary) -0.2% [-1.4%, 1.8%] 13

Binary size

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


#161362 2c386ff rustdoc: Correctly handle reexports when --document-private-items is used

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.9% [0.1%, 7.9%] 19
Regressions ❌
(secondary)
27.3% [0.1%, 189.6%] 8
Improvements ✅
(primary)
- - 0
Improvements ✅
(secondary)
- - 0
All ❌✅ (primary) 0.9% [0.1%, 7.9%] 19

Max RSS (memory usage)

Results (primary 0.7%, secondary 29.6%)

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

mean range count
Regressions ❌
(primary)
1.3% [0.5%, 4.8%] 9
Regressions ❌
(secondary)
29.6% [20.3%, 38.9%] 2
Improvements ✅
(primary)
-1.1% [-1.5%, -0.5%] 3
Improvements ✅
(secondary)
- - 0
All ❌✅ (primary) 0.7% [-1.5%, 4.8%] 12

Cycles

Results (primary 0.9%, secondary 63.7%)

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

mean range count
Regressions ❌
(primary)
1.2% [0.4%, 4.9%] 11
Regressions ❌
(secondary)
63.7% [2.3%, 161.8%] 3
Improvements ✅
(primary)
-0.7% [-0.8%, -0.6%] 2
Improvements ✅
(secondary)
- - 0
All ❌✅ (primary) 0.9% [-0.8%, 4.9%] 13

Binary size

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


#163769 7a7d053 reborrow: Fix various ICEs related to auto reborrowing of user-space types

This perf run didn't have relevant results for the `instruction count` metric.

Instruction count

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

Max RSS (memory usage)

Results (primary -0.2%)

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

mean range count
Regressions ❌
(primary)
0.9% [0.4%, 1.6%] 3
Regressions ❌
(secondary)
- - 0
Improvements ✅
(primary)
-0.6% [-0.8%, -0.4%] 8
Improvements ✅
(secondary)
- - 0
All ❌✅ (primary) -0.2% [-0.8%, 1.6%] 11

Cycles

Results (primary 0.3%)

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

mean range count
Regressions ❌
(primary)
1.2% [0.6%, 2.7%] 7
Regressions ❌
(secondary)
- - 0
Improvements ✅
(primary)
-0.6% [-1.2%, -0.4%] 7
Improvements ✅
(secondary)
- - 0
All ❌✅ (primary) 0.3% [-1.2%, 2.7%] 14

Binary size

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


#164764 334f5c7 Test(lib/sync): Fix test_rwlock_max_readers for 32bit architectures

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.4%, 0.4%] 1
Regressions ❌
(secondary)
- - 0
Improvements ✅
(primary)
- - 0
Improvements ✅
(secondary)
- - 0
All ❌✅ (primary) 0.4% [0.4%, 0.4%] 1

Max RSS (memory usage)

Results (primary -0.2%)

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

mean range count
Regressions ❌
(primary)
0.8% [0.4%, 1.6%] 6
Regressions ❌
(secondary)
- - 0
Improvements ✅
(primary)
-0.8% [-1.1%, -0.5%] 10
Improvements ✅
(secondary)
- - 0
All ❌✅ (primary) -0.2% [-1.1%, 1.6%] 16

Cycles

Results (primary -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.6% [0.5%, 0.7%] 4
Regressions ❌
(secondary)
- - 0
Improvements ✅
(primary)
-0.8% [-1.8%, -0.5%] 9
Improvements ✅
(secondary)
- - 0
All ❌✅ (primary) -0.3% [-1.8%, 0.7%] 13

Binary size

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


#164860 b83b7e7 std::fs: read interrupted by a signal, read_buf_exact_at reports EOF.

This perf run didn't have relevant results for the `instruction count` metric.

Instruction count

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

Max RSS (memory usage)

Results (primary -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.9% [0.7%, 1.0%] 3
Regressions ❌
(secondary)
- - 0
Improvements ✅
(primary)
-0.6% [-0.7%, -0.4%] 7
Improvements ✅
(secondary)
- - 0
All ❌✅ (primary) -0.1% [-0.7%, 1.0%] 10

Cycles

Results (primary 0.2%)

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

mean range count
Regressions ❌
(primary)
0.9% [0.4%, 1.3%] 7
Regressions ❌
(secondary)
- - 0
Improvements ✅
(primary)
-0.8% [-1.2%, -0.6%] 5
Improvements ✅
(secondary)
- - 0
All ❌✅ (primary) 0.2% [-1.2%, 1.3%] 12

Binary size

Results (primary -0.1%, 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
Regressions ❌
(secondary)
- - 0
Improvements ✅
(primary)
-0.1% [-0.2%, -0.1%] 44
Improvements ✅
(secondary)
-0.1% [-0.2%, -0.1%] 12
All ❌✅ (primary) -0.1% [-0.2%, -0.1%] 44

#164869 d01304f rustc_codegen_gcc subtree update

This perf run didn't have relevant results for the `instruction count` metric.

Instruction count

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

Max RSS (memory usage)

Results (primary -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.8% [0.4%, 0.9%] 3
Regressions ❌
(secondary)
- - 0
Improvements ✅
(primary)
-0.5% [-0.8%, -0.4%] 7
Improvements ✅
(secondary)
- - 0
All ❌✅ (primary) -0.1% [-0.8%, 0.9%] 10

Cycles

Results (primary 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.7% [0.5%, 1.2%] 7
Regressions ❌
(secondary)
- - 0
Improvements ✅
(primary)
-0.9% [-1.7%, -0.5%] 5
Improvements ✅
(secondary)
- - 0
All ❌✅ (primary) 0.0% [-1.7%, 1.2%] 12

Binary size

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


#157123 55df60b library: optimize truncate method

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.0%, 0.5%] 13
Improvements ✅
(primary)
- - 0
Improvements ✅
(secondary)
- - 0
All ❌✅ (primary) - - 0

Max RSS (memory usage)

Results (primary 0.2%)

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

mean range count
Regressions ❌
(primary)
0.9% [0.5%, 1.2%] 6
Regressions ❌
(secondary)
- - 0
Improvements ✅
(primary)
-0.9% [-1.5%, -0.4%] 4
Improvements ✅
(secondary)
- - 0
All ❌✅ (primary) 0.2% [-1.5%, 1.2%] 10

Cycles

Results (primary 0.0%, secondary 2.3%)

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

mean range count
Regressions ❌
(primary)
0.5% [0.4%, 0.6%] 7
Regressions ❌
(secondary)
2.3% [2.3%, 2.3%] 1
Improvements ✅
(primary)
-0.6% [-0.7%, -0.5%] 5
Improvements ✅
(secondary)
- - 0
All ❌✅ (primary) 0.0% [-0.7%, 0.6%] 12

Binary size

Results (primary -0.1%, 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
Regressions ❌
(secondary)
- - 0
Improvements ✅
(primary)
-0.1% [-0.2%, -0.0%] 45
Improvements ✅
(secondary)
-0.1% [-0.2%, -0.1%] 12
All ❌✅ (primary) -0.1% [-0.2%, -0.0%] 45

#159916 b3b9be4 Optimize str.escape_default().to_string()

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.2%, 0.7%] 3
Regressions ❌
(secondary)
1.1% [0.9%, 1.3%] 2
Improvements ✅
(primary)
-0.2% [-0.2%, -0.2%] 1
Improvements ✅
(secondary)
- - 0
All ❌✅ (primary) 0.3% [-0.2%, 0.7%] 4

Max RSS (memory usage)

Results (primary 0.5%)

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

mean range count
Regressions ❌
(primary)
0.7% [0.4%, 1.9%] 12
Regressions ❌
(secondary)
- - 0
Improvements ✅
(primary)
-0.8% [-1.2%, -0.5%] 2
Improvements ✅
(secondary)
- - 0
All ❌✅ (primary) 0.5% [-1.2%, 1.9%] 14

Cycles

Results (primary 0.2%)

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

mean range count
Regressions ❌
(primary)
0.8% [0.5%, 1.1%] 8
Regressions ❌
(secondary)
- - 0
Improvements ✅
(primary)
-0.7% [-1.1%, -0.6%] 5
Improvements ✅
(secondary)
- - 0
All ❌✅ (primary) 0.2% [-1.1%, 1.1%] 13

Binary size

Results (primary 1.6%, secondary 0.5%)

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

mean range count
Regressions ❌
(primary)
2.4% [0.9%, 3.6%] 7
Regressions ❌
(secondary)
0.5% [0.5%, 0.5%] 4
Improvements ✅
(primary)
-0.2% [-0.3%, -0.2%] 3
Improvements ✅
(secondary)
- - 0
All ❌✅ (primary) 1.6% [-0.3%, 3.6%] 10

#163510 861ffa6 process: Improve the output of Debug for ExitStatus on Unix

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.3% [0.3%, 0.3%] 1
Regressions ❌
(secondary)
- - 0
Improvements ✅
(primary)
- - 0
Improvements ✅
(secondary)
- - 0
All ❌✅ (primary) 0.3% [0.3%, 0.3%] 1

Max RSS (memory usage)

Results (primary 0.2%)

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

mean range count
Regressions ❌
(primary)
0.7% [0.5%, 1.6%] 8
Regressions ❌
(secondary)
- - 0
Improvements ✅
(primary)
-0.7% [-1.0%, -0.4%] 4
Improvements ✅
(secondary)
- - 0
All ❌✅ (primary) 0.2% [-1.0%, 1.6%] 12

Cycles

Results (primary 0.2%)

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

mean range count
Regressions ❌
(primary)
1.0% [0.5%, 1.5%] 9
Regressions ❌
(secondary)
- - 0
Improvements ✅
(primary)
-0.7% [-1.4%, -0.4%] 7
Improvements ✅
(secondary)
- - 0
All ❌✅ (primary) 0.2% [-1.4%, 1.5%] 16

Binary size

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


#164508 7559ed7 ping me for layout invariant changes

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.3% [0.3%, 0.3%] 1
Regressions ❌
(secondary)
- - 0
Improvements ✅
(primary)
- - 0
Improvements ✅
(secondary)
- - 0
All ❌✅ (primary) 0.3% [0.3%, 0.3%] 1

Max RSS (memory usage)

Results (primary 0.2%)

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

mean range count
Regressions ❌
(primary)
0.6% [0.5%, 1.0%] 7
Regressions ❌
(secondary)
- - 0
Improvements ✅
(primary)
-0.8% [-1.2%, -0.5%] 3
Improvements ✅
(secondary)
- - 0
All ❌✅ (primary) 0.2% [-1.2%, 1.0%] 10

Cycles

Results (primary 0.5%)

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

mean range count
Regressions ❌
(primary)
1.0% [0.4%, 2.9%] 9
Regressions ❌
(secondary)
- - 0
Improvements ✅
(primary)
-0.9% [-1.2%, -0.6%] 3
Improvements ✅
(secondary)
- - 0
All ❌✅ (primary) 0.5% [-1.2%, 2.9%] 12

Binary size

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


#164758 f887d56 Update dependency jinja2 to v3.1.6 [SECURITY]

This perf run didn't have relevant results for the `instruction count` metric.

Instruction count

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

Max RSS (memory usage)

Results (primary -0.2%)

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

mean range count
Regressions ❌
(primary)
0.7% [0.6%, 0.8%] 4
Regressions ❌
(secondary)
- - 0
Improvements ✅
(primary)
-0.8% [-1.5%, -0.5%] 5
Improvements ✅
(secondary)
- - 0
All ❌✅ (primary) -0.2% [-1.5%, 0.8%] 9

Cycles

Results (primary 0.3%)

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

mean range count
Regressions ❌
(primary)
1.0% [0.5%, 1.8%] 7
Regressions ❌
(secondary)
- - 0
Improvements ✅
(primary)
-0.6% [-0.8%, -0.4%] 6
Improvements ✅
(secondary)
- - 0
All ❌✅ (primary) 0.3% [-0.8%, 1.8%] 13

Binary size

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


#164816 48de507 Take the colon span into account for struct field initializers

This perf run didn't have relevant results for the `instruction count` metric.

Instruction count

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

Max RSS (memory usage)

Results (primary 0.5%)

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

mean range count
Regressions ❌
(primary)
0.8% [0.5%, 1.3%] 10
Regressions ❌
(secondary)
- - 0
Improvements ✅
(primary)
-0.6% [-0.7%, -0.4%] 3
Improvements ✅
(secondary)
- - 0
All ❌✅ (primary) 0.5% [-0.7%, 1.3%] 13

Cycles

Results (primary 0.2%)

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

mean range count
Regressions ❌
(primary)
1.0% [0.5%, 2.8%] 9
Regressions ❌
(secondary)
- - 0
Improvements ✅
(primary)
-0.8% [-1.2%, -0.5%] 7
Improvements ✅
(secondary)
- - 0
All ❌✅ (primary) 0.2% [-1.2%, 2.8%] 16

Binary size

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


#164836 963fb4c Add regression test for #162109

This perf run didn't have relevant results for the `instruction count` metric.

Instruction count

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

Max RSS (memory usage)

Results (primary 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.6% [0.4%, 1.0%] 10
Regressions ❌
(secondary)
- - 0
Improvements ✅
(primary)
-0.6% [-0.8%, -0.5%] 3
Improvements ✅
(secondary)
- - 0
All ❌✅ (primary) 0.3% [-0.8%, 1.0%] 13

Cycles

Results (primary 0.1%)

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

mean range count
Regressions ❌
(primary)
1.0% [0.4%, 2.7%] 5
Regressions ❌
(secondary)
- - 0
Improvements ✅
(primary)
-0.9% [-1.3%, -0.6%] 4
Improvements ✅
(secondary)
- - 0
All ❌✅ (primary) 0.1% [-1.3%, 2.7%] 9

Binary size

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


#164846 6e0647f Remove contradictory inequalities from overflow safety docs

This perf run didn't have relevant results for the `instruction count` metric.

Instruction count

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

Max RSS (memory usage)

Results (primary 0.5%)

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

mean range count
Regressions ❌
(primary)
0.7% [0.4%, 1.4%] 9
Regressions ❌
(secondary)
- - 0
Improvements ✅
(primary)
-0.5% [-0.5%, -0.4%] 2
Improvements ✅
(secondary)
- - 0
All ❌✅ (primary) 0.5% [-0.5%, 1.4%] 11

Cycles

Results (primary 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.8% [0.5%, 2.2%] 13
Regressions ❌
(secondary)
- - 0
Improvements ✅
(primary)
-0.6% [-1.1%, -0.4%] 8
Improvements ✅
(secondary)
- - 0
All ❌✅ (primary) 0.3% [-1.1%, 2.2%] 21

Binary size

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


#164857 b20c0e7 Do not checkout Cargo for bootstrap tests

This perf run didn't have relevant results for the `instruction count` metric.

Instruction count

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

Max RSS (memory usage)

Results (primary 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.7% [0.4%, 0.9%] 6
Regressions ❌
(secondary)
- - 0
Improvements ✅
(primary)
-1.4% [-3.1%, -0.5%] 3
Improvements ✅
(secondary)
- - 0
All ❌✅ (primary) 0.0% [-3.1%, 0.9%] 9

Cycles

Results (primary 0.1%, secondary 5.6%)

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

mean range count
Regressions ❌
(primary)
1.1% [0.4%, 2.3%] 5
Regressions ❌
(secondary)
5.6% [5.6%, 5.6%] 1
Improvements ✅
(primary)
-1.1% [-1.6%, -0.8%] 4
Improvements ✅
(secondary)
- - 0
All ❌✅ (primary) 0.1% [-1.6%, 2.3%] 9

Binary size

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


#164868 da7ba07 Fix skipping library build with --keep-stage[-std]

This perf run didn't have relevant results for the `instruction count` metric.

Instruction count

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

Max RSS (memory usage)

Results (primary 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.8% [0.4%, 1.3%] 4
Regressions ❌
(secondary)
- - 0
Improvements ✅
(primary)
-0.8% [-1.2%, -0.5%] 3
Improvements ✅
(secondary)
- - 0
All ❌✅ (primary) 0.1% [-1.2%, 1.3%] 7

Cycles

Results (primary 0.4%)

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

mean range count
Regressions ❌
(primary)
0.8% [0.4%, 1.6%] 11
Regressions ❌
(secondary)
- - 0
Improvements ✅
(primary)
-0.6% [-0.8%, -0.5%] 5
Improvements ✅
(secondary)
- - 0
All ❌✅ (primary) 0.4% [-0.8%, 1.6%] 16

Binary size

Results (primary -0.1%, secondary -0.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)
- - 0
Improvements ✅
(primary)
-0.1% [-0.2%, -0.1%] 65
Improvements ✅
(secondary)
-0.2% [-0.2%, -0.1%] 12
All ❌✅ (primary) -0.1% [-0.2%, -0.1%] 65

#164872 d5b4483 cg_llvm: clarify Send / Sync story for modules

This perf run didn't have relevant results for the `instruction count` metric.

Instruction count

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

Max RSS (memory usage)

Results (primary 0.5%)

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

mean range count
Regressions ❌
(primary)
0.8% [0.4%, 1.3%] 10
Regressions ❌
(secondary)
- - 0
Improvements ✅
(primary)
-0.9% [-1.4%, -0.5%] 2
Improvements ✅
(secondary)
- - 0
All ❌✅ (primary) 0.5% [-1.4%, 1.3%] 12

Cycles

Results (primary 0.5%)

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

mean range count
Regressions ❌
(primary)
1.1% [0.5%, 3.0%] 11
Regressions ❌
(secondary)
- - 0
Improvements ✅
(primary)
-0.8% [-1.2%, -0.4%] 5
Improvements ✅
(secondary)
- - 0
All ❌✅ (primary) 0.5% [-1.2%, 3.0%] 16

Binary size

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


#164880 a0e03c6 Add context span showing item that can't be annotated

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.0%, 0.5%] 13
Improvements ✅
(primary)
- - 0
Improvements ✅
(secondary)
- - 0
All ❌✅ (primary) - - 0

Max RSS (memory usage)

Results (primary -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.9% [0.5%, 1.3%] 3
Regressions ❌
(secondary)
- - 0
Improvements ✅
(primary)
-0.5% [-0.6%, -0.5%] 5
Improvements ✅
(secondary)
- - 0
All ❌✅ (primary) -0.0% [-0.6%, 1.3%] 8

Cycles

Results (primary -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.6% [0.4%, 0.9%] 6
Regressions ❌
(secondary)
- - 0
Improvements ✅
(primary)
-0.6% [-1.3%, -0.4%] 7
Improvements ✅
(secondary)
- - 0
All ❌✅ (primary) -0.1% [-1.3%, 0.9%] 13

Binary size

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


#164881 406d1dc Add FIXME comments to from_ascii_bytes_radix_impl

This perf run didn't have relevant results for the `instruction count` metric.

Instruction count

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

Max RSS (memory usage)

Results (primary -0.2%)

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

mean range count
Regressions ❌
(primary)
0.6% [0.4%, 0.7%] 4
Regressions ❌
(secondary)
- - 0
Improvements ✅
(primary)
-0.6% [-0.9%, -0.4%] 7
Improvements ✅
(secondary)
- - 0
All ❌✅ (primary) -0.2% [-0.9%, 0.7%] 11

Cycles

Results (primary -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.6% [0.4%, 0.8%] 7
Regressions ❌
(secondary)
- - 0
Improvements ✅
(primary)
-0.7% [-1.3%, -0.4%] 9
Improvements ✅
(secondary)
- - 0
All ❌✅ (primary) -0.1% [-1.3%, 0.8%] 16

Binary size

Results (primary -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
Regressions ❌
(secondary)
- - 0
Improvements ✅
(primary)
-0.0% [-0.0%, -0.0%] 1
Improvements ✅
(secondary)
- - 0
All ❌✅ (primary) -0.0% [-0.0%, -0.0%] 1

#164884 20d50d2 Windows: bounds-check the reparse point name in read_link

This perf run didn't have relevant results for the `instruction count` metric.

Instruction count

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

Max RSS (memory usage)

Results (primary 0.1%, secondary -1.0%)

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

mean range count
Regressions ❌
(primary)
0.6% [0.5%, 0.9%] 6
Regressions ❌
(secondary)
- - 0
Improvements ✅
(primary)
-1.5% [-1.8%, -1.2%] 2
Improvements ✅
(secondary)
-1.0% [-1.0%, -1.0%] 1
All ❌✅ (primary) 0.1% [-1.8%, 0.9%] 8

Cycles

Results (primary 0.2%)

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

mean range count
Regressions ❌
(primary)
0.7% [0.4%, 1.2%] 7
Regressions ❌
(secondary)
- - 0
Improvements ✅
(primary)
-0.8% [-1.1%, -0.4%] 4
Improvements ✅
(secondary)
- - 0
All ❌✅ (primary) 0.2% [-1.1%, 1.2%] 11

Binary size

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

@panstromek

Copy link
Copy Markdown
Contributor

perf triage:

Impacts handled on individual PRs.

@rustbot label: +perf-regression-triaged

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

Labels

A-attributes Area: Attributes (`#[…]`, `#![…]`) A-CI Area: Our Github Actions CI A-LLVM Area: Code generation parts specific to LLVM. Both correctness bugs and optimization-related issues. A-meta Area: Issues & PRs about the rust-lang/rust repository itself A-testsuite Area: The testsuite used to check the correctness of rustc merged-by-bors This PR was explicitly merged by bors. O-unix Operating system: Unix-like O-windows Operating system: Windows perf-regression Performance regression. perf-regression-triaged The performance regression has been triaged. PG-exploit-mitigations Project group: Exploit mitigations rollup A PR which is a rollup T-bootstrap Relevant to the bootstrap subteam: Rust's build system (x.py and src/bootstrap) T-clippy Relevant to the Clippy team. 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. T-rustdoc Relevant to the rustdoc team, which will review and decide on the PR/issue. T-rustdoc-frontend Relevant to the rustdoc-frontend team, which will review and decide on the web UI/UX output.

Projects

None yet

Development

Successfully merging this pull request may close these issues.