4 ms·
There are two things that work in `uv`'s favor (which, to be clear, is an incredible tool that I'm a big fan of): 1. Python packaging, unlike Homebrew, does ha
by woodruffw 2y ago
There are two things that work in `uv`'s favor (which, to be clear, is an incredible tool that I'm a big fan of):
1. Python packaging, unlike Homebrew, does have a compute-heavy phase in the form of dependency resolution. `uv` can make significant gains over `pip` in that phase.
2. `uv` performs parallel downloads and other operations, in part because of Rust's fearless parallelism.
Homebrew doesn't really have (1), since resolution is just a linearization of the dependency tree. And parallelism of downloads in (2) poses a problem for Homebrew that's been mentioned in other threads (whereas parallelism is not a significant problem for PyPI's CDN-fronted distribution).
- frollogaston 2y agoPython should be able to do parallel downloads at least, albeit having the overhead of multiple OS threads unless you're using asyncio.
- woodruffw 2y agoYep. The limitation in pip is architectural, not on Python's own side. However, there's been some progress there recently[1]. [1]: https://github.com/pypa/pip/issues/825 https://github.com/pypa/pip/issues/825