-
Notifications
You must be signed in to change notification settings - Fork 3k
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 our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Install packages in parallel #12742
Comments
See also #8187 (comment). |
Thanks, hadn't seen that before, I'll have a good read through and see if this is a straight up duplicate, and if anything can be done to take the existing work to be landed in pip. |
As the author of the linked comment, I'll add that the key new development is that I've not looked at how
Footnotes
|
Just curious, are there any updates on this/any active work being done? |
I made a PR with a proof of concept #12816 The parallel installation is trivial to do The gains are very little because of the global interpreter lock. Unless you're installing on a very slow file system like a $HOME network drive. |
What's the problem this feature will solve?
This is to improve the performance of pip.
For example looking at #12613 (comment) of a large install, even with resolving, downloading, buildising sdists, installing takes over 8% of the time. As resolving becomes faster, downloads are run in parallel, and hopefully there are more wheels instead of sdists then installing will become a larger part of the total time.
Describe the solution you'd like
After the resolve, downloads, and sdist build has completed, the installs could run in parallel.
Alternative Solutions
Keep as is.
Additional context
This would require a PR from someone obviously, I think there would need to make sure there are a complement of tests about installing packages in parallel, and different packages (e.g. make sure multiple editables run at the same time, editables and regular installs, etc.).
uv has already implemented this succesfully, following their issue tracker this has been the last problematic part of making things parallel/concurrent.
Code of Conduct
The text was updated successfully, but these errors were encountered: