mirror of https://github.com/astral-sh/uv
Regenerate benchmarks (#1305)
This commit is contained in:
parent
2586f655bb
commit
55808a451f
|
|
@ -26,7 +26,7 @@ Benchmarking package installation (e.g., `uv pip sync`) with a warm cache. This
|
||||||
to removing and recreating a virtual environment, and then populating it with dependencies that
|
to removing and recreating a virtual environment, and then populating it with dependencies that
|
||||||
you've installed previously on the same machine.
|
you've installed previously on the same machine.
|
||||||
|
|
||||||

|

|
||||||
|
|
||||||
## Cold Installation
|
## Cold Installation
|
||||||
|
|
||||||
|
|
@ -34,7 +34,7 @@ Benchmarking package installation (e.g., `uv pip sync`) with a cold cache. This
|
||||||
to running `uv pip sync` on a new machine or in CI (assuming that the package manager cache is
|
to running `uv pip sync` on a new machine or in CI (assuming that the package manager cache is
|
||||||
not shared across runs).
|
not shared across runs).
|
||||||
|
|
||||||

|

|
||||||
|
|
||||||
## Warm Resolution
|
## Warm Resolution
|
||||||
|
|
||||||
|
|
@ -42,7 +42,7 @@ Benchmarking dependency resolution (e.g., `uv pip compile`) with a warm cache, b
|
||||||
lockfile. This is equivalent to blowing away an existing `requirements.txt` file to regenerate it
|
lockfile. This is equivalent to blowing away an existing `requirements.txt` file to regenerate it
|
||||||
from a `requirements.in` file.
|
from a `requirements.in` file.
|
||||||
|
|
||||||

|

|
||||||
|
|
||||||
## Cold Resolution
|
## Cold Resolution
|
||||||
|
|
||||||
|
|
@ -50,7 +50,7 @@ Benchmarking dependency resolution (e.g., `uv pip compile`) with a cold cache. T
|
||||||
equivalent to running `uv pip compile` on a new machine or in CI (assuming that the package
|
equivalent to running `uv pip compile` on a new machine or in CI (assuming that the package
|
||||||
manager cache is not shared across runs).
|
manager cache is not shared across runs).
|
||||||
|
|
||||||

|

|
||||||
|
|
||||||
## Reproduction
|
## Reproduction
|
||||||
|
|
||||||
|
|
@ -64,27 +64,28 @@ The benchmark script itself has a several requirements:
|
||||||
- A virtual environment with the script's own dependencies installed (`uv venv && uv pip sync scripts/bench/requirements.txt`).
|
- A virtual environment with the script's own dependencies installed (`uv venv && uv pip sync scripts/bench/requirements.txt`).
|
||||||
- The [`hyperfine`](https://github.com/sharkdp/hyperfine) command-line tool installed on your system.
|
- The [`hyperfine`](https://github.com/sharkdp/hyperfine) command-line tool installed on your system.
|
||||||
|
|
||||||
To benchmark uv's resolution against pip-compile and Poetry:
|
To benchmark resolution against pip-compile, Poetry, and PDM:
|
||||||
|
|
||||||
```shell
|
```shell
|
||||||
python -m scripts.bench \
|
python -m scripts.bench \
|
||||||
--uv \
|
--uv \
|
||||||
--poetry \
|
--poetry \
|
||||||
|
--pdm \
|
||||||
--pip-compile \
|
--pip-compile \
|
||||||
--benchmark resolve-warm \
|
--benchmark resolve-warm --benchmark resolve-cold \
|
||||||
scripts/requirements/trio.in \
|
scripts/requirements/trio.in \
|
||||||
--json
|
--json
|
||||||
```
|
```
|
||||||
|
|
||||||
To benchmark uv's installation against pip-sync and Poetry:
|
To benchmark installation against pip-sync, Poetry, and PDM:
|
||||||
|
|
||||||
```shell
|
```shell
|
||||||
python -m scripts.bench \
|
python -m scripts.bench \
|
||||||
--uv \
|
--uv \
|
||||||
--poetry \
|
--poetry \
|
||||||
|
--pdm \
|
||||||
--pip-sync \
|
--pip-sync \
|
||||||
--benchmark install-warm \
|
--benchmark install-warm --benchmark install-cold \
|
||||||
scripts/requirements/compiled/trio.txt \
|
|
||||||
--json
|
--json
|
||||||
```
|
```
|
||||||
|
|
||||||
|
|
|
||||||
Binary file not shown.
|
After Width: | Height: | Size: 145 KiB |
Binary file not shown.
|
After Width: | Height: | Size: 175 KiB |
Binary file not shown.
|
After Width: | Height: | Size: 146 KiB |
Binary file not shown.
|
After Width: | Height: | Size: 144 KiB |
|
|
@ -2186,10 +2186,6 @@ fn sync_editable() -> Result<()> {
|
||||||
.iter()
|
.iter()
|
||||||
.chain(&[
|
.chain(&[
|
||||||
(filter_path.as_str(), "requirements.txt"),
|
(filter_path.as_str(), "requirements.txt"),
|
||||||
(
|
|
||||||
r"file://.*/../../scripts/editable-installs/poetry_editable",
|
|
||||||
"file://[TEMP_DIR]/../../scripts/editable-installs/poetry_editable",
|
|
||||||
),
|
|
||||||
(&workspace_url, "file://[WORKSPACE_DIR]"),
|
(&workspace_url, "file://[WORKSPACE_DIR]"),
|
||||||
])
|
])
|
||||||
.copied()
|
.copied()
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue