Movatterモバイル変換


[0]ホーム

URL:


Skip to content

Navigation Menu

Sign in
Appearance settings

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Sign up
Appearance settings

[perf] Start using pattern types in libcore#148537

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to ourterms of service andprivacy statement. We’ll occasionally send you account related emails.

Already on GitHub?Sign in to your account

Open
oli-obk wants to merge1 commit intorust-lang:master
base:master
Choose a base branch
Loading
fromoli-obk:push-yxuttqrqqyvu

Conversation

@oli-obk
Copy link
Contributor

@oli-obkoli-obk commentedNov 5, 2025
edited
Loading

part of github.com//pull/136006 but I want to make sure which part has more impact on perf and maybe land them individually

@rustbot
Copy link
Collaborator

The Miri subtree was changed

cc @rust-lang/miri

Some changes occurred to the CTFE / Miri interpreter

cc @rust-lang/miri

Some changes occurred to the CTFE machinery

cc@RalfJung,@oli-obk,@lcnr

@rustbotrustbot added A-LLVMArea: Code generation parts specific to LLVM. Both correctness bugs and optimization-related issues. S-waiting-on-reviewStatus: Awaiting review from the assignee but also interested parties. T-compilerRelevant to the compiler team, which will review and decide on the PR/issue. T-libsRelevant to the library team, which will review and decide on the PR/issue. labelsNov 5, 2025
@rustbot
Copy link
Collaborator

r?@scottmcm

rustbot has assigned@scottmcm.
They will have a look at your PR within the next two weeks and either review your PR or reassign to another reviewer.

User? to explicitly pick a reviewer

@oli-obkoli-obk changed the titleStart using pattern types in libcore[perf] Start using pattern types in libcoreNov 5, 2025
@oli-obk
Copy link
ContributorAuthor

@bors try@rust-timer queue

@rust-timer

This comment has been minimized.

@rust-bors

This comment has been minimized.

rust-borsbot added a commit that referenced this pull requestNov 5, 2025
[perf] Start using pattern types in libcore
@rustbotrustbot added the S-waiting-on-perfStatus: Waiting on a perf run to be completed. labelNov 5, 2025
@rust-log-analyzer
Copy link
Collaborator

The jobx86_64-gnu-gcc failed! Check out the build log:(web)(plain enhanced)(plain)

Click to see the possible cause of the failure (guessed by this bot)
test [mir-opt] tests/mir-opt/unusual_item_types.rs ... okfailures:---- [mir-opt] tests/mir-opt/pre-codegen/loops.rs stdout ----61                                 scope 42 (inlined alloc::raw_vec::RawVecInner::capacity) {62                                     debug self => _38;63                                     debug elem_size => const <impl Sized as std::mem::SizedTypeProperties>::SIZE;-                                     let mut _20: core::num::niche_types::UsizeNoHighBit;+                                     let mut _20: (usize) is 0..=9223372036854775807;65                                     scope 43 (inlined core::num::niche_types::UsizeNoHighBit::as_inner) {-                                         debug self => _20;+                                         debug ((self: core::num::niche_types::UsizeNoHighBit).0: (usize) is 0..=9223372036854775807) => _20;67                                     }68                                 }69                             }241         // DBG: _37 = &_2;242         // DBG: _36 = &((_2.0: std::vec::Vec<impl Sized>).0: alloc::raw_vec::RawVec<impl Sized>);243         // DBG: _38 = &(((_2.0: std::vec::Vec<impl Sized>).0: alloc::raw_vec::RawVec<impl Sized>).0: alloc::raw_vec::RawVecInner);+         StorageLive(_20);244         switchInt(const <impl Sized as std::mem::SizedTypeProperties>::SIZE) -> [0: bb5, otherwise: bb6];245     }246 250     }251 252     bb6: {-         StorageLive(_20);-         _20 = copy ((((_2.0: std::vec::Vec<impl Sized>).0: alloc::raw_vec::RawVec<impl Sized>).0: alloc::raw_vec::RawVecInner).1: core::num::niche_types::UsizeNoHighBit);+         _20 = copy (((((_2.0: std::vec::Vec<impl Sized>).0: alloc::raw_vec::RawVec<impl Sized>).0: alloc::raw_vec::RawVecInner).1: core::num::niche_types::UsizeNoHighBit).0: (usize) is 0..=9223372036854775807);255         _19 = copy _20 as usize (Transmute);-         StorageDead(_20);257         goto -> bb7;258     }259 260     bb7: {+         StorageDead(_20);261         _21 = std::vec::IntoIter::<impl Sized> { buf: copy _6, phantom: const ZeroSized: PhantomData<impl Sized>, cap: move _19, alloc: const ManuallyDrop::<std::alloc::Global> {{ value: std::alloc::Global }}, ptr: copy _6, end: copy _11 };262         StorageDead(_2);263         StorageDead(_17);thread '[mir-opt] tests/mir-opt/pre-codegen/loops.rs' panicked at src/tools/compiletest/src/runtest/mir_opt.rs:84:21:Actual MIR output differs from expected MIR output /checkout/tests/mir-opt/pre-codegen/loops.vec_move.PreCodegen.after.mirstack backtrace:   5: __rustc::rust_begin_unwind             at /rustc/3b4dd9bf1410f8da6329baa36ce5e37673cbbd1f/library/std/src/panicking.rs:698:5   6: core::panicking::panic_fmt             at /rustc/3b4dd9bf1410f8da6329baa36ce5e37673cbbd1f/library/core/src/panicking.rs:80:14

For more information how to resolve CI failures of this job, visit thislink.

@rust-bors
Copy link

☀️ Try build successful (CI)
Build commit:0ff9d47 (0ff9d47ff7e1b381184bd9c0734a1b9001b2b6f1, parent:1ef7943ee607160a564655b6596f83670ef95df5)

@rust-timer

This comment has been minimized.

@rust-timer
Copy link
Collaborator

Finished benchmarking commit (0ff9d47):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.

meanrangecount
Regressions ❌
(primary)
1.8%[0.2%, 5.7%]14
Regressions ❌
(secondary)
2.8%[0.2%, 5.5%]4
Improvements ✅
(primary)
-0.5%[-0.5%, -0.5%]1
Improvements ✅
(secondary)
-0.1%[-0.1%, -0.1%]2
All ❌✅ (primary)1.7%[-0.5%, 5.7%]15

Max RSS (memory usage)

Results (primary -0.8%, secondary 2.9%)

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

meanrangecount
Regressions ❌
(primary)
2.8%[2.8%, 2.8%]1
Regressions ❌
(secondary)
3.8%[1.7%, 6.7%]12
Improvements ✅
(primary)
-2.0%[-2.8%, -0.9%]3
Improvements ✅
(secondary)
-2.1%[-3.2%, -1.0%]2
All ❌✅ (primary)-0.8%[-2.8%, 2.8%]4

Cycles

Results (primary 2.8%, secondary 2.4%)

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

meanrangecount
Regressions ❌
(primary)
2.8%[1.7%, 4.2%]3
Regressions ❌
(secondary)
5.6%[2.0%, 10.1%]8
Improvements ✅
(primary)
--0
Improvements ✅
(secondary)
-4.0%[-5.2%, -3.4%]4
All ❌✅ (primary)2.8%[1.7%, 4.2%]3

Binary size

Results (primary 1.2%, secondary 1.5%)

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

meanrangecount
Regressions ❌
(primary)
1.4%[0.0%, 7.6%]34
Regressions ❌
(secondary)
1.5%[0.0%, 7.6%]9
Improvements ✅
(primary)
-0.3%[-0.4%, -0.3%]4
Improvements ✅
(secondary)
--0
All ❌✅ (primary)1.2%[-0.4%, 7.6%]38

Bootstrap: 474.243s -> 475.084s (0.18%)
Artifact size: 390.98 MiB -> 390.76 MiB (-0.06%)

@rustbotrustbot added perf-regressionPerformance regression. and removed S-waiting-on-perfStatus: Waiting on a perf run to be completed. labelsNov 6, 2025
Sign up for freeto join this conversation on GitHub. Already have an account?Sign in to comment

Reviewers

No reviews

Assignees

@scottmcmscottmcm

Labels

A-LLVMArea: Code generation parts specific to LLVM. Both correctness bugs and optimization-related issues.perf-regressionPerformance regression.S-waiting-on-reviewStatus: Awaiting review from the assignee but also interested parties.T-compilerRelevant to the compiler team, which will review and decide on the PR/issue.T-libsRelevant to the library team, which will review and decide on the PR/issue.

Projects

None yet

Milestone

No milestone

Development

Successfully merging this pull request may close these issues.

5 participants

@oli-obk@rustbot@rust-timer@rust-log-analyzer@scottmcm

[8]ページ先頭

©2009-2025 Movatter.jp