Skip to content

Conversation

x-hgg-x
Copy link
Contributor

@x-hgg-x x-hgg-x commented Oct 15, 2024

What does this PR try to resolve?

Follow up of Eh2406/pubgrub-crates-benchmark#6 (comment).

This PR modifies the internal RcVecIter struct so that we can iterate on its items without cloning them. This improves performance of the resolver because eagerly cloning Arc<T> is not free.

Comparison of performance using solana-core = "=1.0.5" in Cargo.toml:

branch duration
master 213s
PR 202s

r? Eh2406

@rustbot rustbot added A-dependency-resolution Area: dependency resolution and the resolver S-waiting-on-review Status: Awaiting review from the assignee but also interested parties. labels Oct 15, 2024
Copy link
Contributor

@Eh2406 Eh2406 left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Overall, a good improvement. I'm surprised it makes such a difference. Thank you for finding it.

@x-hgg-x x-hgg-x force-pushed the resolver-perf-3 branch 2 times, most recently from f7f209f to e80553f Compare October 15, 2024 17:11
@Eh2406
Copy link
Contributor

Eh2406 commented Oct 15, 2024

@bors r+

@bors
Copy link
Contributor

bors commented Oct 15, 2024

📌 Commit 5acc1ca has been approved by Eh2406

It is now in the queue for this repository.

@bors bors 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 Oct 15, 2024
@bors
Copy link
Contributor

bors commented Oct 15, 2024

⌛ Testing commit 5acc1ca with merge 8040c00...

@bors
Copy link
Contributor

bors commented Oct 15, 2024

☀️ Test successful - checks-actions
Approved by: Eh2406
Pushing 8040c00 to master...

@bors bors merged commit 8040c00 into rust-lang:master Oct 15, 2024
22 checks passed
@x-hgg-x x-hgg-x deleted the resolver-perf-3 branch October 15, 2024 19:16
bors added a commit to rust-lang-ci/rust that referenced this pull request Oct 19, 2024
Update cargo

7 commits in 8c30ce53688e25f7e9d860b33cc914fb2957ca9a..cf53cc54bb593b5ec3dc2be4b1702f50c36d24d5
2024-10-15 16:43:16 +0000 to 2024-10-18 13:56:15 +0000
- feat: Stabilize MSRV-aware resolver config (rust-lang/cargo#14639)
- Help with `[patch.crates.io]` (rust-lang/cargo#14700)
- test: Migrate publish snapshotting to snapbox (rust-lang/cargo#14642)
- Bump to 0.85.0; update changelog (rust-lang/cargo#14695)
- Fix typo in faq.md (rust-lang/cargo#14696)
- fix(registry): `HttpRegistry` `block_until_ready` returns early when work is still pending (rust-lang/cargo#14694)
- fix(resolver): avoid cloning when iterating using RcVecIter (rust-lang/cargo#14690)
@rustbot rustbot added this to the 1.84.0 milestone Oct 19, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
A-dependency-resolution Area: dependency resolution and the resolver S-waiting-on-bors Status: Waiting on bors to run and complete tests. Bors will change the label on completion.
Projects
None yet
Development

Successfully merging this pull request may close these issues.

4 participants