Skip to content

Conversation

@djc
Copy link
Contributor

@djc djc commented Nov 19, 2025

cc @FranciscoTGouveia

async-install.mov

@djc djc requested a review from rami3l November 19, 2025 12:40
Copy link
Member

@rami3l rami3l left a comment

Choose a reason for hiding this comment

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

These changes look pretty reasonable and definitely an improvement over #4567’s attempt of spilling Arc everywhere.

I imagine that if correctly implemented, it would be equivalent to #4471 in terms of performance because as long as we are spawning the installation task, the extra overhead introduced by #4567 should be minimal.

It’s worth another bench nonetheless though.

PS: Would you mind investigating the CI failures? This implementation doesn’t seem to have covered all the edge cases.

@djc
Copy link
Contributor Author

djc commented Nov 20, 2025

Running time rustup-init toolchain install beta (compiled with --release) on #4471:

4.78s user 14.11s system 101% cpu 18.604 total

On this PR:

5.12s user 14.54s system 138% cpu 14.214 total

So it looks like this PR is a bit faster, by making better use of parallelism.

On main:

5.21s user 14.69s system 103% cpu 19.154 total

@djc
Copy link
Contributor Author

djc commented Nov 20, 2025

PS: Would you mind investigating the CI failures? This implementation doesn’t seem to have covered all the edge cases.

Oops, solved those.

@rami3l rami3l self-assigned this Nov 20, 2025
@rami3l
Copy link
Member

rami3l commented Nov 20, 2025

Thanks! I really want to test this with my own machine but I don't have my fiber installed until tomorrow... I hope you won't mind my delaying merging this for a bit just to be sure 🙏

@djc
Copy link
Contributor Author

djc commented Nov 20, 2025

No problem! Hope the fiber install will work out better for you tomorrow!

Copy link
Member

@rami3l rami3l left a comment

Choose a reason for hiding this comment

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

@djc Just tested a few times after connecting all my cables. The thing did work which is super cool, but I have some concerns when downloading the cargo component, which seems to be stuck all of the time.

However, considering the fact that this implementation shouldn't have set any bias of any kind in that regard, I'm considering this to be a particular environment-related or remote-related problem (the same thing happens for stable rustup on my side and not just latest). Anyway, I think we can merge this first and see how it goes.

Many thanks again for all the refactoring work to make the final implementation more clearer and much more elegant than the original :)

@djc djc added this pull request to the merge queue Nov 21, 2025
Merged via the queue into main with commit d0f431c Nov 21, 2025
29 checks passed
@djc djc deleted the spawn-install branch November 21, 2025 20:58
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants