Peeking under the hood of uv run
summary
uv run claims sub-4s cold startup but actually measures ~50ms discovery, 750ms locking and 3s syncing dropping to ~10ms hot; it uses Rust, an on-disk cache, and packed formats like archive and message pack for zero-copy reads; resolution prefetching runs on two threads and avoids I/O stalls; wheels are downloaded, validated, unpacked and ref link or hardlinked into venvs to save time and disk; universal resolution forks per marker and version parsing scales to hundreds of thousands of comparisons.
AI-written summary · about
chapters (14)
- 0:00uv run and package management
- 2:58Cold operations feel slow
- 4:25Discovery phase breakdown
- 8:16Python version discovery
- 11:07Locking and dependency resolution
- 14:37Caching package metadata
- 17:49Special dependency sources
- 21:19Version parsing optimizations
- 24:08Syncing and environment construction
- 27:40Building source distributions
- 30:29Installing packages
- 32:17Running the application
- 32:39Performance strategies
- 35:48Future work and challenges
related talks
31mBuilding an extremely fast Python package manager, in Rust
28mBeyond the Benchmark: Why the “Best” Python Dependency Manager Might Not Be Best for You
09mUV Migration
27muv: Ultimate Victory over Installation and Dependency Chaos
51mTread Lightly When Building and Testing Your Python Project
28mFastAPI: Hitting the Performance Jackpot
01h 02mRuff: An Extremely Fast Python Linter and Code Formatter, Written in Rust
01h 20mFriday Lightning Talks
