astral-sh
uv
BlogDocsChangelog

Use `FxHashSet<PackageName>` instead of `Vec` for `exclude` in `uv pip list`

#17550Merged
Comparing
zaniebot:claude/fix-uv-issue-17546-MvKaA
(
0a8e462
) with
main
(
c6ad69b
)
CodSpeed Performance Gauge
0%
Untouched
5
Ignored
1

Benchmarks

Passed

resolve_warm_jupyter
crates/uv-bench/benches/uv.rs::uv::resolve_warm_jupyter
CodSpeed Performance Gauge
+1%
42.5 ms42 ms
resolve_warm_jupyter_universal
crates/uv-bench/benches/uv.rs::uv::resolve_warm_jupyter_universal
CodSpeed Performance Gauge
0%
138 ms137.7 ms
resolve_warm_jupyter
crates/uv-bench/benches/uv.rs::uv::resolve_warm_jupyter
CodSpeed Performance Gauge
0%
73.9 ms73.7 ms
resolve_warm_airflow
crates/uv-bench/benches/uv.rs::uv::resolve_warm_airflow
CodSpeed Performance Gauge
0%
465.8 ms465.1 ms
resolve_warm_jupyter_universal
crates/uv-bench/benches/uv.rs::uv::resolve_warm_jupyter_universal
CodSpeed Performance Gauge
0%
204 ms204.7 ms

Ignored

resolve_warm_airflow
crates/uv-bench/benches/uv.rs::uv::resolve_warm_airflow
Ignored
CodSpeed Performance Gauge
+1%
812.6 ms802.6 ms

Commits

Click on a commit to change the comparison range
Base
main
c6ad69b
+0.33%
Use `FxHashSet` for `PipListSettings::exclude` and `PipFreezeSettings::exclude` for O(1) lookups Refactor the `exclude` field in both `PipListSettings` and `PipFreezeSettings` from `Vec<PackageName>`/`HashSet<PackageName>` to `FxHashSet<PackageName>` to enable efficient O(1) lookup operations when filtering packages during `uv pip list` and `uv pip freeze`. This change improves performance when checking if packages should be excluded from the output, especially with many excluded packages. Closes #17546
0a8e462
9 hours ago
by claude
© 2026 CodSpeed Technology
Home Terms Privacy Docs