Visitar URL original
[DO NOT MERGE] search graph exploration by bit-aloo · Pull Request #164971 · rust-lang/rust · GitHub
Skip to content

[DO NOT MERGE] search graph exploration - #164971

Draft
bit-aloo wants to merge 1 commit into
rust-lang:mainfrom
bit-aloo:2026-10-23-search-graph-exploration
Draft

bit-aloo wants to merge 1 commit into
rust-lang:mainfrom
bit-aloo:2026-10-23-search-graph-exploration

Conversation

@bit-aloo

@bit-aloo bit-aloo commented Oct 26, 2026 •

Copy link
Copy Markdown
Member

View all comments

I am trying a few things out in the search graph to see if any of them have an impact on performance. These are very small changes, mostly early returns or memoizing a few operations that we do quite a lot (though it might not be necessary). Just curious to see how it goes.

r? @ghost

@rustbot rustbot added S-waiting-on-author Status: This is awaiting some action (such as code changes or more information) from the author. T-compiler Relevant to the compiler team, which will review and decide on the PR/issue. labels Oct 26, 2026
@bit-aloo

Copy link
Copy Markdown
Member Author

@bors try @rust-timer queue

@rust-timer

This comment has been minimized.

@rustbot rustbot added the S-waiting-on-perf Status: Waiting on a perf run to be completed. label Oct 26, 2026
@rust-bors

This comment has been minimized.

rust-bors Bot pushed a commit that referenced this pull request Oct 26, 2026
… r=<try>

[DO NOT MERGE] search graph exploration
@rust-bors

rust-bors Bot commented Oct 26, 2026

Copy link
Copy Markdown
Contributor

☀️ Try build successful (CI)
Build commit: 85ebe97 (85ebe973c39a5222d23fa22d9d24cfc34c4e9621)
Base parent: aaf324d (aaf324d50a7dcb17aae7f2a37e15ff143d980c6e)

@rust-timer

This comment has been minimized.

@rust-timer

Copy link
Copy Markdown
Collaborator

Finished benchmarking commit (85ebe97): comparison URL.

Overall result: ✅ improvements - no action needed

Benchmarking means the PR may be perf-sensitive. Consider adding rollup=never if this change is not fit for rolling up.

@bors rollup=iffy rustc-perf
@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
Regressions ❌
(secondary)
- - 0
Improvements ✅
(primary)
- - 0
Improvements ✅
(secondary)
-0.3% [-0.5%, -0.0%] 12
All ❌✅ (primary) - - 0

Max RSS (memory usage)

Results (primary -0.0%, 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.6% [0.4%, 0.9%] 7
Regressions ❌
(secondary)
0.5% [0.5%, 0.5%] 1
Improvements ✅
(primary)
-0.8% [-1.5%, -0.4%] 6
Improvements ✅
(secondary)
-0.5% [-0.5%, -0.5%] 1
All ❌✅ (primary) -0.0% [-1.5%, 0.9%] 13

Cycles

Results (primary -0.0%, secondary 2.7%)

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.6%] 7
Regressions ❌
(secondary)
2.7% [0.8%, 4.7%] 2
Improvements ✅
(primary)
-0.9% [-1.7%, -0.5%] 8
Improvements ✅
(secondary)
- - 0
All ❌✅ (primary) -0.0% [-1.7%, 2.6%] 15

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

Bootstrap: 488.092s -> 487.544s (-0.11%)
Artifact size: 405.81 MiB -> 406.05 MiB (0.06%)

@rustbot rustbot removed the S-waiting-on-perf Status: Waiting on a perf run to be completed. label Oct 26, 2026
@bit-aloo

Copy link
Copy Markdown
Member Author

@bors try @rust-timer queue

@rust-timer

This comment has been minimized.

@rustbot rustbot added the S-waiting-on-perf Status: Waiting on a perf run to be completed. label Oct 29, 2026
rust-bors Bot pushed a commit that referenced this pull request Oct 29, 2026
… r=<try>

[DO NOT MERGE] search graph exploration
@rust-bors

This comment has been minimized.

@rust-bors

rust-bors Bot commented Oct 29, 2026

Copy link
Copy Markdown
Contributor

☀️ Try build successful (CI)
Build commit: e0c36dc (e0c36dcc3496f515e0f58bc7c0d3f1efe765203c)
Base parent: 92ffebe (92ffebeceaa0a071066f233873c2438e73d70fe7)

@rust-timer

This comment has been minimized.

@rust-timer

Copy link
Copy Markdown
Collaborator

Finished benchmarking commit (e0c36dc): comparison URL.

Overall result: ❌ regressions - please read:

Benchmarking means the PR may be perf-sensitive. Consider adding rollup=never if this change is not fit for rolling up.

Next, please: If you can, justify the regressions found in this try perf run in writing along with @rustbot label: +perf-regression-triaged. If not, fix the regressions and do another perf run. Neutral or positive results will clear the label automatically.

@bors rollup=iffy rustc-perf
@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
Regressions ❌
(secondary)
0.3% [0.0%, 0.5%] 10
Improvements ✅
(primary)
- - 0
Improvements ✅
(secondary)
- - 0
All ❌✅ (primary) - - 0

Max RSS (memory usage)

Results (primary 1.0%)

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

mean range count
Regressions ❌
(primary)
1.6% [0.6%, 6.8%] 8
Regressions ❌
(secondary)
- - 0
Improvements ✅
(primary)
-1.1% [-1.3%, -0.9%] 2
Improvements ✅
(secondary)
- - 0
All ❌✅ (primary) 1.0% [-1.3%, 6.8%] 10

Cycles

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

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)
-1.2% [-2.9%, -0.6%] 9
Improvements ✅
(secondary)
-2.4% [-2.5%, -2.3%] 2
All ❌✅ (primary) -0.3% [-2.9%, 1.2%] 16

Binary size

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

Bootstrap: 488.483s -> 488.641s (0.03%)
Artifact size: 405.90 MiB -> 406.12 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 29, 2026
@rust-cloud-vms
rust-cloud-vms Bot force-pushed the 2026-10-23-search-graph-exploration branch from b6d7db2 to d53f593 Compare October 29, 2026 06:59
@bit-aloo

Copy link
Copy Markdown
Member Author

@bors try @rust-timer queue

@rust-timer

This comment has been minimized.

@rustbot rustbot added the S-waiting-on-perf Status: Waiting on a perf run to be completed. label Oct 29, 2026
@rust-bors

This comment has been minimized.

rust-bors Bot pushed a commit that referenced this pull request Oct 29, 2026
… r=<try>

[DO NOT MERGE] search graph exploration
@rust-bors

rust-bors Bot commented Oct 29, 2026

Copy link
Copy Markdown
Contributor

☀️ Try build successful (CI)
Build commit: b71d391 (b71d391fa0186b2b0f8b7253f66d758353032074)
Base parent: ce37c4f (ce37c4ff837c5c5dc45cddf9e1e3704e42ca67ea)

@rust-timer

This comment has been minimized.

@rust-timer

Copy link
Copy Markdown
Collaborator

Finished benchmarking commit (b71d391): comparison URL.

Overall result: no relevant changes - no action needed

Benchmarking means the PR may be perf-sensitive. Consider adding rollup=never if this change is not fit for rolling up.

@rustbot label: -S-waiting-on-perf -perf-regression

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

Cycles

Results (primary 0.6%, secondary 1.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%, 2.6%] 12
Regressions ❌
(secondary)
1.7% [0.4%, 3.5%] 4
Improvements ✅
(primary)
-1.0% [-1.4%, -0.7%] 4
Improvements ✅
(secondary)
- - 0
All ❌✅ (primary) 0.6% [-1.4%, 2.6%] 16

Binary size

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

Bootstrap: 490.291s -> 491.174s (0.18%)
Artifact size: 406.63 MiB -> 406.76 MiB (0.03%)

@rust-bors

This comment has been minimized.

rust-bors Bot pushed a commit that referenced this pull request Nov 3, 2026
… r=<try>

[DO NOT MERGE] search graph exploration
@rust-bors

rust-bors Bot commented Nov 3, 2026

Copy link
Copy Markdown
Contributor

☀️ Try build successful (CI)
Build commit: bc7feaa (bc7feaa26934e410626d4844397442ffa7ff0792)
Base parent: 6a98084 (6a98084e4a21b04504c034dfc640e35e32ab9854)

@rust-timer

This comment has been minimized.

@rust-timer

Copy link
Copy Markdown
Collaborator

Finished benchmarking commit (bc7feaa): comparison URL.

Overall result: ❌ regressions - please read:

Benchmarking means the PR may be perf-sensitive. Consider adding rollup=never if this change is not fit for rolling up.

Next, please: If you can, justify the regressions found in this try perf run in writing along with @rustbot label: +perf-regression-triaged. If not, fix the regressions and do another perf run. Neutral or positive results will clear the label automatically.

@bors rollup=iffy rustc-perf
@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
Regressions ❌
(secondary)
0.4% [0.2%, 0.7%] 13
Improvements ✅
(primary)
- - 0
Improvements ✅
(secondary)
- - 0
All ❌✅ (primary) - - 0

Max RSS (memory usage)

Results (primary 1.2%, 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)
1.2% [1.2%, 1.2%] 1
Regressions ❌
(secondary)
2.5% [2.5%, 2.5%] 1
Improvements ✅
(primary)
- - 0
Improvements ✅
(secondary)
-2.9% [-4.3%, -1.4%] 8
All ❌✅ (primary) 1.2% [1.2%, 1.2%] 1

Cycles

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

Binary size

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

Bootstrap: 482.475s -> 481.881s (-0.12%)
Artifact size: 406.38 MiB -> 406.48 MiB (0.02%)

@rustbot rustbot added perf-regression Performance regression. and removed S-waiting-on-perf Status: Waiting on a perf run to be completed. labels Nov 3, 2026
@rust-cloud-vms
rust-cloud-vms Bot force-pushed the 2026-10-23-search-graph-exploration branch from 013c01e to 5fa7015 Compare November 4, 2026 01:22
@rust-log-analyzer

This comment has been minimized.

@rust-cloud-vms
rust-cloud-vms Bot force-pushed the 2026-10-23-search-graph-exploration branch 2 times, most recently from d7c2b87 to a479bb0 Compare November 4, 2026 01:30
@bit-aloo

bit-aloo commented Nov 4, 2026

Copy link
Copy Markdown
Member Author

@bors try @rust-timer queue

@rust-timer

This comment has been minimized.

@rustbot rustbot added the S-waiting-on-perf Status: Waiting on a perf run to be completed. label Nov 4, 2026
@rust-bors

This comment has been minimized.

rust-bors Bot pushed a commit that referenced this pull request Nov 4, 2026
… r=<try>

[DO NOT MERGE] search graph exploration
@rust-bors

rust-bors Bot commented Nov 4, 2026

Copy link
Copy Markdown
Contributor

☀️ Try build successful (CI)
Build commit: 73b8677 (73b8677fccb815aa7ec1117ec3c838b97f1cb7e9)
Base parent: 708c94e (708c94ef093ecc42fb8851e17d8383d999727abc)

@rust-timer

This comment has been minimized.

@rust-timer

Copy link
Copy Markdown
Collaborator

Finished benchmarking commit (73b8677): comparison URL.

Overall result: no relevant changes - no action needed

Benchmarking means the PR may be perf-sensitive. Consider adding rollup=never if this change is not fit for rolling up.

@rustbot label: -S-waiting-on-perf -perf-regression

Instruction count

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

Max RSS (memory usage)

Results (primary 2.2%, secondary 2.1%)

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

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

Cycles

Results (secondary 11.9%)

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

Binary size

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

Bootstrap: 483.649s -> 483.96s (0.06%)
Artifact size: 406.38 MiB -> 406.36 MiB (-0.01%)

@rustbot rustbot removed perf-regression Performance regression. S-waiting-on-perf Status: Waiting on a perf run to be completed. labels Nov 4, 2026
@rust-cloud-vms
rust-cloud-vms Bot force-pushed the 2026-10-23-search-graph-exploration branch from a479bb0 to 08be60b Compare November 4, 2026 15:49
@bit-aloo

bit-aloo commented Nov 4, 2026

Copy link
Copy Markdown
Member Author

@bors try @rust-timer queue

@rust-timer

Copy link
Copy Markdown
Collaborator

Awaiting bors try build completion.

@rustbot label: +S-waiting-on-perf

@rustbot rustbot added the S-waiting-on-perf Status: Waiting on a perf run to be completed. label Nov 4, 2026
rust-bors Bot pushed a commit that referenced this pull request Nov 4, 2026
… r=<try>

[DO NOT MERGE] search graph exploration
@rust-bors

rust-bors Bot commented Nov 4, 2026 •

Copy link
Copy Markdown
Contributor

⌛ Trying commit 08be60b with merge f089070…

To cancel the try build, run the command @bors try cancel.

Workflow: https://github.com/rust-lang/rust/actions/runs/41862079576

@rust-log-analyzer

Copy link
Copy Markdown
Collaborator

The job test-pr-check-2 failed! Check out the build log: (web) (plain enhanced) (plain)

Click to see the possible cause of the failure (guessed by this bot)
    Checking sharded-slab v0.1.7
error: using `.clone()` on a ref-counted pointer
   --> compiler/rustc_type_ir/src/search_graph/mod.rs:555:69
    |
555 |                     .map(|(step, nested)| (step_kind.extend(*step), nested.clone())),
    |                                                                     ^^^^^^^^^^^^^^ help: try: `std::sync::Arc::<search_graph::NestedGoals<X>>::clone(nested)`
    |
    = help: for further information visit https://clippy.rust-lang.org/main/index.html#clone_on_ref_ptr
    = note: requested on the command line with `-D clippy::clone-on-ref-ptr`

error: using `.clone()` on a ref-counted pointer
   --> compiler/rustc_type_ir/src/search_graph/mod.rs:558:44
    |
558 |             self.children.push((step_kind, child.clone()));
    |                                            ^^^^^^^^^^^^^ help: try: `std::sync::Arc::<search_graph::NestedGoals<X>>::clone(child)`
    |
    = help: for further information visit https://clippy.rust-lang.org/main/index.html#clone_on_ref_ptr

[RUSTC-TIMING] sharded_slab test:false 0.702
   Compiling nix v0.30.1

@rust-bors

rust-bors Bot commented Nov 4, 2026

Copy link
Copy Markdown
Contributor

💥 Test timed out after 21600s

This branch has not been deployed

No deployments
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

S-waiting-on-author Status: This is awaiting some action (such as code changes or more information) from the author. S-waiting-on-perf Status: Waiting on a perf run to be completed. T-compiler Relevant to the compiler team, which will review and decide on the PR/issue.

Projects

None yet

Development

Successfully merging this pull request may close these issues.

4 participants