Skip to content

Conversation

cjgillot
Copy link
Contributor

Draft to gauge the perf effect of the added move.

r? @ghost

@rustbot rustbot added A-tidy Area: The tidy tool S-waiting-on-author Status: This is awaiting some action (such as code changes or more information) from the author. 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-libs Relevant to the library team, which will review and decide on the PR/issue. labels Oct 18, 2025
@cjgillot
Copy link
Contributor Author

@bors try @rust-timer queue

@rust-timer

This comment has been minimized.

@rust-bors

This comment has been minimized.

rust-bors bot added a commit that referenced this pull request Oct 18, 2025
@rustbot rustbot added the S-waiting-on-perf Status: Waiting on a perf run to be completed. label Oct 18, 2025
@rust-log-analyzer

This comment has been minimized.

@rust-log-analyzer

This comment has been minimized.

@rust-bors
Copy link

rust-bors bot commented Oct 18, 2025

💔 Test for 9c292f4 failed: CI. Failed jobs:

@rust-log-analyzer

This comment has been minimized.

@cjgillot
Copy link
Contributor Author

@bors try @rust-timer queue

@rust-timer

This comment has been minimized.

@rust-bors

This comment has been minimized.

rust-bors bot added a commit that referenced this pull request Oct 18, 2025
@rustbot rustbot added the A-rustc-dev-guide Area: rustc-dev-guide label Oct 19, 2025
@rust-bors
Copy link

rust-bors bot commented Oct 19, 2025

☀️ Try build successful (CI)
Build commit: d4e488f (d4e488fd1cbd56d5ce97af9226cb30c35f3d8207, parent: 6380899f32599ea25615d4ccd708d0e8da652b0c)

@rust-timer

This comment has been minimized.

@rust-log-analyzer

This comment has been minimized.

@rust-timer
Copy link
Collaborator

Finished benchmarking commit (d4e488f): comparison URL.

Overall result: ❌✅ regressions and improvements - please read the text below

Benchmarking this pull request means it may be perf-sensitive – we'll automatically label it not fit for rolling up. You can override this, but we strongly advise not to, due to possible changes in compiler perf.

Next Steps: If you can justify the regressions found in this try perf run, please do so in sufficient writing along with @rustbot label: +perf-regression-triaged. If not, please fix the regressions and do another perf run. If its results are neutral or positive, the label will be automatically removed.

@bors rollup=never
@rustbot label: -S-waiting-on-perf +perf-regression

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.2%, 2.6%] 52
Regressions ❌
(secondary)
4.0% [0.2%, 23.0%] 53
Improvements ✅
(primary)
- - 0
Improvements ✅
(secondary)
-0.2% [-0.3%, -0.1%] 5
All ❌✅ (primary) 0.8% [0.2%, 2.6%] 52

Max RSS (memory usage)

Results (primary 1.5%, secondary 4.4%)

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

mean range count
Regressions ❌
(primary)
1.5% [0.4%, 2.1%] 6
Regressions ❌
(secondary)
4.4% [2.3%, 7.0%] 7
Improvements ✅
(primary)
- - 0
Improvements ✅
(secondary)
- - 0
All ❌✅ (primary) 1.5% [0.4%, 2.1%] 6

Cycles

Results (primary 2.5%, secondary 4.6%)

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.2%, 3.0%] 4
Regressions ❌
(secondary)
7.2% [1.9%, 24.4%] 25
Improvements ✅
(primary)
- - 0
Improvements ✅
(secondary)
-4.9% [-9.8%, -2.7%] 7
All ❌✅ (primary) 2.5% [2.2%, 3.0%] 4

Binary size

Results (primary 1.2%, secondary 9.7%)

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.0%, 6.1%] 76
Regressions ❌
(secondary)
10.5% [0.5%, 45.5%] 36
Improvements ✅
(primary)
-0.1% [-0.3%, -0.0%] 10
Improvements ✅
(secondary)
-0.1% [-0.1%, -0.0%] 3
All ❌✅ (primary) 1.2% [-0.3%, 6.1%] 86

Bootstrap: 471.955s -> 472.273s (0.07%)
Artifact size: 390.54 MiB -> 390.72 MiB (0.05%)

@rustbot rustbot added perf-regression Performance regression. and removed S-waiting-on-perf Status: Waiting on a perf run to be completed. labels Oct 19, 2025
@bors
Copy link
Collaborator

bors commented Oct 19, 2025

☔ The latest upstream changes (presumably #147847) made this pull request unmergeable. Please resolve the merge conflicts.

@rust-log-analyzer
Copy link
Collaborator

The job aarch64-gnu-llvm-20-1 failed! Check out the build log: (web) (plain enhanced) (plain)

Click to see the possible cause of the failure (guessed by this bot)
---- [ui] tests/ui/limits/issue-17913.rs stdout ----
Saved the actual stderr to `/checkout/obj/build/aarch64-unknown-linux-gnu/test/ui/limits/issue-17913/issue-17913.stderr`
diff of stderr:

5 note: inside `std::mem::size_of::<[&usize; usize::MAX]>`
6   --> $SRC_DIR/core/src/mem/mod.rs:LL:COL
7 
+ note: the above error was encountered while instantiating `fn Box::<[&usize; usize::MAX]>::new_in`
+   --> $SRC_DIR/alloc/src/boxed.rs:LL:COL
+ 
8 error[E0080]: values of the type `[&usize; usize::MAX]` are too big for the target architecture
9   --> $SRC_DIR/core/src/ptr/alignment.rs:LL:COL
10    |

Note: some mismatched output was normalized before being compared
- note: the above error was encountered while instantiating `fn Box::<[&usize; 17293822569102704640]>::new_in`
-   --> /rustc/FAKE_PREFIX/library/alloc/src/boxed.rs:253:16
+ note: the above error was encountered while instantiating `fn Box::<[&usize; usize::MAX]>::new_in`
+   --> $SRC_DIR/alloc/src/boxed.rs:LL:COL
+ 


The actual stderr differed from the expected stderr
To update references, rerun the tests and pass the `--bless` flag
To only update this specific test, also pass `--test-args limits/issue-17913.rs`

error: 1 errors occurred comparing output.
status: exit status: 1
command: env -u RUSTC_LOG_COLOR RUSTC_ICE="0" RUST_BACKTRACE="short" "/checkout/obj/build/aarch64-unknown-linux-gnu/stage2/bin/rustc" "/checkout/tests/ui/limits/issue-17913.rs" "-Zthreads=1" "-Zsimulate-remapped-rust-src-base=/rustc/FAKE_PREFIX" "-Ztranslate-remapped-path-to-local-path=no" "-Z" "ignore-directory-in-diagnostics-source-blocks=/cargo" "-Z" "ignore-directory-in-diagnostics-source-blocks=/checkout/vendor" "--sysroot" "/checkout/obj/build/aarch64-unknown-linux-gnu/stage2" "--target=aarch64-unknown-linux-gnu" "--check-cfg" "cfg(test,FALSE)" "--error-format" "json" "--json" "future-incompat" "-Ccodegen-units=1" "-Zui-testing" "-Zdeduplicate-diagnostics=no" "-Zwrite-long-types-to-disk=no" "-Cstrip=debuginfo" "-C" "prefer-dynamic" "--out-dir" "/checkout/obj/build/aarch64-unknown-linux-gnu/test/ui/limits/issue-17913" "-A" "unused" "-W" "unused_attributes" "-A" "internal_features" "-A" "unused_parens" "-A" "unused_braces" "-Crpath" "-Cdebuginfo=0" "-Lnative=/checkout/obj/build/aarch64-unknown-linux-gnu/native/rust-test-helpers"
stdout: none
--- stderr -------------------------------
error[E0080]: values of the type `[&usize; 17293822569102704640]` are too big for the target architecture
##[error]  --> /rustc/FAKE_PREFIX/library/core/src/mem/mod.rs:1266:26
   |
   = note: evaluation of `<[&usize; 17293822569102704640] as std::mem::SizedTypeProperties>::IS_ZST` failed inside this call
note: inside `std::mem::size_of::<[&usize; 17293822569102704640]>`
  --> /rustc/FAKE_PREFIX/library/core/src/mem/mod.rs:336:5

note: the above error was encountered while instantiating `fn Box::<[&usize; 17293822569102704640]>::new_in`
  --> /rustc/FAKE_PREFIX/library/alloc/src/boxed.rs:253:16

error[E0080]: values of the type `[&usize; 17293822569102704640]` are too big for the target architecture
##[error]  --> /rustc/FAKE_PREFIX/library/core/src/ptr/alignment.rs:50:32
   |
   = note: evaluation of `std::ptr::Alignment::of::<std::mem::MaybeUninit<[&usize; 17293822569102704640]>>::{constant#0}` failed inside this call
note: inside `std::mem::align_of::<MaybeUninit<[&usize; 17293822569102704640]>>`
  --> /rustc/FAKE_PREFIX/library/core/src/mem/mod.rs:491:5

note: the above error was encountered while instantiating `fn Box::<[&usize; 17293822569102704640]>::try_new_uninit_in`
  --> /rustc/FAKE_PREFIX/library/alloc/src/boxed.rs:470:15

error: aborting due to 2 previous errors

For more information about this error, try `rustc --explain E0080`.

@cjgillot
Copy link
Contributor Author

@bors try @rust-timer queue

@rust-timer

This comment has been minimized.

@rust-bors

This comment has been minimized.

rust-bors bot added a commit that referenced this pull request Oct 19, 2025
@rustbot rustbot added the S-waiting-on-perf Status: Waiting on a perf run to be completed. label Oct 19, 2025
@rust-bors
Copy link

rust-bors bot commented Oct 20, 2025

☀️ Try build successful (CI)
Build commit: 9203cf8 (9203cf8b58f999e8739690665622eca20e4cd85e, parent: 4ddbb6051271237f4192333e06b8129148995eef)

@rust-timer

This comment has been minimized.

@rust-timer
Copy link
Collaborator

Finished benchmarking commit (9203cf8): comparison URL.

Overall result: ❌ regressions - please read the text below

Benchmarking this pull request means it may be perf-sensitive – we'll automatically label it not fit for rolling up. You can override this, but we strongly advise not to, due to possible changes in compiler perf.

Next Steps: If you can justify the regressions found in this try perf run, please do so in sufficient writing along with @rustbot label: +perf-regression-triaged. If not, please fix the regressions and do another perf run. If its results are neutral or positive, the label will be automatically removed.

@bors rollup=never
@rustbot label: -S-waiting-on-perf +perf-regression

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.2%, 2.8%] 58
Regressions ❌
(secondary)
3.8% [0.1%, 22.2%] 55
Improvements ✅
(primary)
- - 0
Improvements ✅
(secondary)
-0.2% [-0.2%, -0.1%] 5
All ❌✅ (primary) 0.8% [0.2%, 2.8%] 58

Max RSS (memory usage)

Results (primary 1.3%, secondary 0.7%)

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

mean range count
Regressions ❌
(primary)
2.3% [0.6%, 4.7%] 8
Regressions ❌
(secondary)
3.4% [2.1%, 7.4%] 14
Improvements ✅
(primary)
-2.7% [-3.1%, -2.3%] 2
Improvements ✅
(secondary)
-3.9% [-4.5%, -3.1%] 8
All ❌✅ (primary) 1.3% [-3.1%, 4.7%] 10

Cycles

Results (primary 2.7%, secondary 4.1%)

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

mean range count
Regressions ❌
(primary)
2.7% [1.8%, 3.5%] 2
Regressions ❌
(secondary)
6.1% [1.2%, 23.9%] 30
Improvements ✅
(primary)
- - 0
Improvements ✅
(secondary)
-4.6% [-8.6%, -1.7%] 7
All ❌✅ (primary) 2.7% [1.8%, 3.5%] 2

Binary size

Results (primary 1.2%, 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)
1.3% [0.0%, 6.4%] 76
Regressions ❌
(secondary)
9.4% [0.4%, 43.8%] 39
Improvements ✅
(primary)
-0.1% [-0.3%, -0.0%] 10
Improvements ✅
(secondary)
-0.1% [-0.1%, -0.0%] 3
All ❌✅ (primary) 1.2% [-0.3%, 6.4%] 86

Bootstrap: 471.841s -> 473.148s (0.28%)
Artifact size: 388.67 MiB -> 390.76 MiB (0.54%)

@rustbot rustbot removed the S-waiting-on-perf Status: Waiting on a perf run to be completed. label Oct 20, 2025
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

A-rustc-dev-guide Area: rustc-dev-guide A-tidy Area: The tidy tool perf-regression Performance regression. S-waiting-on-author Status: This is awaiting some action (such as code changes or more information) from the author. 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-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.

5 participants