mirror of
https://github.com/astral-sh/uv.git
synced 2025-08-04 19:08:04 +00:00

Some checks are pending
CI / build binary | linux (push) Blocked by required conditions
CI / build binary | macos aarch64 (push) Blocked by required conditions
CI / build binary | macos x86_64 (push) Blocked by required conditions
CI / build binary | windows (push) Blocked by required conditions
CI / cargo build (msrv) (push) Blocked by required conditions
CI / ecosystem test | prefecthq/prefect (push) Blocked by required conditions
CI / ecosystem test | pallets/flask (push) Blocked by required conditions
CI / integration test | conda on ubuntu (push) Blocked by required conditions
CI / integration test | free-threaded on linux (push) Blocked by required conditions
CI / integration test | free-threaded on windows (push) Blocked by required conditions
CI / integration test | pypy on ubuntu (push) Blocked by required conditions
CI / integration test | pypy on windows (push) Blocked by required conditions
CI / integration test | graalpy on ubuntu (push) Blocked by required conditions
CI / integration test | graalpy on windows (push) Blocked by required conditions
CI / integration test | github actions (push) Blocked by required conditions
CI / integration test | determine publish changes (push) Blocked by required conditions
CI / integration test | uv publish (push) Blocked by required conditions
CI / check cache | ubuntu (push) Blocked by required conditions
CI / check cache | macos aarch64 (push) Blocked by required conditions
CI / check system | python on debian (push) Blocked by required conditions
CI / check system | python on fedora (push) Blocked by required conditions
CI / check system | python on ubuntu (push) Blocked by required conditions
CI / check system | python on opensuse (push) Blocked by required conditions
CI / check system | python on rocky linux 8 (push) Blocked by required conditions
CI / check system | python on rocky linux 9 (push) Blocked by required conditions
CI / check system | pypy on ubuntu (push) Blocked by required conditions
CI / check system | pyston (push) Blocked by required conditions
CI / check system | alpine (push) Blocked by required conditions
CI / Determine changes (push) Waiting to run
CI / lint (push) Waiting to run
CI / cargo clippy | ubuntu (push) Blocked by required conditions
CI / cargo clippy | windows (push) Blocked by required conditions
CI / cargo dev generate-all (push) Blocked by required conditions
CI / cargo shear (push) Waiting to run
CI / build binary | freebsd (push) Blocked by required conditions
CI / cargo test | ubuntu (push) Blocked by required conditions
CI / cargo test | macos (push) Blocked by required conditions
CI / cargo test | windows (push) Blocked by required conditions
CI / check windows trampoline | aarch64 (push) Blocked by required conditions
CI / check windows trampoline | i686 (push) Blocked by required conditions
CI / check windows trampoline | x86_64 (push) Blocked by required conditions
CI / test windows trampoline | i686 (push) Blocked by required conditions
CI / test windows trampoline | x86_64 (push) Blocked by required conditions
CI / typos (push) Waiting to run
CI / mkdocs (push) Waiting to run
CI / check system | python on macos aarch64 (push) Blocked by required conditions
CI / check system | homebrew python on macos aarch64 (push) Blocked by required conditions
CI / check system | python on macos x86_64 (push) Blocked by required conditions
CI / check system | python3.10 on windows (push) Blocked by required conditions
CI / check system | python3.10 on windows x86 (push) Blocked by required conditions
CI / check system | python3.13 on windows (push) Blocked by required conditions
CI / check system | python3.12 via chocolatey (push) Blocked by required conditions
CI / check system | python3.9 via pyenv (push) Blocked by required conditions
CI / check system | python3.13 (push) Blocked by required conditions
CI / check system | conda3.11 on linux (push) Blocked by required conditions
CI / check system | conda3.8 on linux (push) Blocked by required conditions
CI / check system | conda3.11 on macos (push) Blocked by required conditions
CI / check system | conda3.8 on macos (push) Blocked by required conditions
CI / check system | conda3.11 on windows (push) Blocked by required conditions
CI / check system | conda3.8 on windows (push) Blocked by required conditions
CI / check system | amazonlinux (push) Blocked by required conditions
CI / check system | embedded python3.10 on windows (push) Blocked by required conditions
CI / benchmarks (push) Blocked by required conditions
N.B. After fixing #10430, `ArcStr` became the fastest implementation (and the gains were significantly reduced, down to 1-2%). See: https://github.com/astral-sh/uv/pull/10453#issuecomment-2583344414. ## Summary I tried out a variety of small string crates, but `Arc<str>` outperformed them, giving a ~10% speed-up: ```console ❯ hyperfine "../arcstr lock" "../flexstr lock" "uv lock" "../arc lock" "../compact_str lock" --prepare "rm -f uv.lock" --min-runs 50 --warmup 20 Benchmark 1: ../arcstr lock Time (mean ± σ): 304.6 ms ± 2.3 ms [User: 302.9 ms, System: 117.8 ms] Range (min … max): 299.0 ms … 311.3 ms 50 runs Benchmark 2: ../flexstr lock Time (mean ± σ): 319.2 ms ± 1.7 ms [User: 317.7 ms, System: 118.2 ms] Range (min … max): 316.8 ms … 323.3 ms 50 runs Benchmark 3: uv lock Time (mean ± σ): 330.6 ms ± 1.5 ms [User: 328.1 ms, System: 139.3 ms] Range (min … max): 326.6 ms … 334.2 ms 50 runs Benchmark 4: ../arc lock Time (mean ± σ): 303.0 ms ± 1.2 ms [User: 301.6 ms, System: 118.4 ms] Range (min … max): 300.3 ms … 305.3 ms 50 runs Benchmark 5: ../compact_str lock Time (mean ± σ): 320.4 ms ± 2.0 ms [User: 318.7 ms, System: 120.8 ms] Range (min … max): 317.3 ms … 326.7 ms 50 runs Summary ../arc lock ran 1.01 ± 0.01 times faster than ../arcstr lock 1.05 ± 0.01 times faster than ../flexstr lock 1.06 ± 0.01 times faster than ../compact_str lock 1.09 ± 0.01 times faster than uv lock ```
72 lines
2.1 KiB
TOML
72 lines
2.1 KiB
TOML
[package]
|
|
name = "uv-resolver"
|
|
version = "0.0.1"
|
|
edition = { workspace = true }
|
|
rust-version = { workspace = true }
|
|
homepage = { workspace = true }
|
|
documentation = { workspace = true }
|
|
repository = { workspace = true }
|
|
authors = { workspace = true }
|
|
license = { workspace = true }
|
|
|
|
[lib]
|
|
doctest = false
|
|
|
|
[lints]
|
|
workspace = true
|
|
|
|
[dependencies]
|
|
uv-cache-key = { workspace = true }
|
|
uv-client = { workspace = true }
|
|
uv-configuration = { workspace = true }
|
|
uv-distribution = { workspace = true }
|
|
uv-distribution-filename = { workspace = true }
|
|
uv-distribution-types = { workspace = true }
|
|
uv-fs = { workspace = true, features = ["serde"] }
|
|
uv-git = { workspace = true }
|
|
uv-metadata = { workspace = true }
|
|
uv-normalize = { workspace = true }
|
|
uv-once-map = { workspace = true }
|
|
uv-pep440 = { workspace = true }
|
|
uv-pep508 = { workspace = true }
|
|
uv-platform-tags = { workspace = true }
|
|
uv-pypi-types = { workspace = true }
|
|
uv-python = { workspace = true }
|
|
uv-requirements-txt = { workspace = true }
|
|
uv-static = { workspace = true }
|
|
uv-types = { workspace = true }
|
|
uv-warnings = { workspace = true }
|
|
uv-workspace = { workspace = true }
|
|
|
|
arcstr = { workspace = true }
|
|
clap = { workspace = true, features = ["derive"], optional = true }
|
|
dashmap = { workspace = true }
|
|
either = { workspace = true }
|
|
futures = { workspace = true }
|
|
hashbrown = { workspace = true }
|
|
indexmap = { workspace = true }
|
|
itertools = { workspace = true }
|
|
jiff = { workspace = true, features = ["serde"] }
|
|
owo-colors = { workspace = true }
|
|
petgraph = { workspace = true }
|
|
pubgrub = { workspace = true }
|
|
rkyv = { workspace = true }
|
|
rustc-hash = { workspace = true }
|
|
same-file = { workspace = true }
|
|
schemars = { workspace = true, optional = true }
|
|
serde = { workspace = true }
|
|
textwrap = { workspace = true }
|
|
thiserror = { workspace = true }
|
|
tokio = { workspace = true }
|
|
tokio-stream = { workspace = true }
|
|
toml = { workspace = true }
|
|
toml_edit = { workspace = true }
|
|
tracing = { workspace = true }
|
|
url = { workspace = true }
|
|
|
|
[dev-dependencies]
|
|
insta = { version = "1.40.0" }
|
|
toml = { workspace = true }
|
|
|
|
[features]
|
|
tracing-durations-export = []
|