mirror of
https://github.com/astral-sh/uv.git
synced 2025-08-04 02:48:17 +00:00
![]() ## Motivation No-op `uv lock` in apache airflow (891c67f210ab7c877d1f00ea6ea3d3cdbb0e96ef) is slow, which makes `uv run` slow, too. Reference project: ``` $ hyperfine "uv run python -c \"print('hi')\"" Benchmark 1: uv run python -c "print('hi')" Time (mean ± σ): 16.3 ms ± 1.5 ms [User: 9.8 ms, System: 6.4 ms] Range (min … max): 13.0 ms … 20.0 ms 186 runs ``` Apache airflow before: ``` $ hyperfine "uv run python -c \"print('hi')\"" Benchmark 1: uv run python -c "print('hi')" Time (mean ± σ): 161.0 ms ± 5.2 ms [User: 135.3 ms, System: 24.1 ms] Range (min … max): 155.0 ms … 176.3 ms 18 runs ``` ## Optimization `FlatRequiresDist::from_requirements` is taking 50% of main thread runtime. Before:  After both commits:  Apache airflow after the first commit: ``` $ hyperfine "uv-profiling run python -c \"print('hi')\"" Benchmark 1: uv-profiling run python -c "print('hi')" Time (mean ± σ): 122.3 ms ± 5.4 ms [User: 96.1 ms, System: 24.7 ms] Range (min … max): 114.0 ms … 133.2 ms 23 runs ``` Apache airflow after the second commit: ``` $ hyperfine "uv-profiling run python -c \"print('hi')\"" Benchmark 1: uv-profiling run python -c "print('hi')" Time (mean ± σ): 108.5 ms ± 3.4 ms [User: 83.2 ms, System: 24.2 ms] Range (min … max): 103.6 ms … 119.9 ms 28 runs ``` |
||
---|---|---|
.. | ||
src | ||
Cargo.toml |