uv has implemented an optimization that changes how buffers are managed during content hashing for wheel extraction. Previously, a new 64 KiB buffer was allocated and zeroed for every file copied and hashed during streaming extraction. The new approach reuses a single 64 KiB buffer across the entire wheel.
This change significantly reduces buffer allocations. For example, with the PyTorch wheel used in benchmarks, buffer allocations for hashing decreased from 11,120 to just one. This optimization led to measurable improvements in cold install times.
Benchmarks showed reductions in cold install times ranging from 2.6% for AnyIO to 9.5% for NumPy. SymPy saw an 8.3% reduction, and PyTorch CPU installs were 7.8% faster. A 14-package environment also experienced a 7.0% speedup.
The performance gains are observed during cold installs where content-addressed caching is enabled and wheels are served over local HTTP. Cached installs and local-wheel controls did not show consistent changes, indicating the optimization specifically targets the initial extraction and hashing process.
✨ This summary was generated by AI from the outlets' reporting listed below. It is not independently verified and may contain errors — check the original sources. How BrevFeed works →
One email each morning: the day's tech stories, clustered across outlets and summarized. No account needed.
One email a day. Unsubscribe in one click, any time.
Spend a few minutes, get the whole day. Every topic's top stories in one hands-free rundown — listen, watch, or read the transcript.
▶ Play today's briefNew every morning, and the back catalogue is archived by date.
uv implemented a change to reuse a single 64 KiB buffer for content hashing across an entire wheel during streaming extraction, rather than allocating a new buffer for each file. This optimization reduces buffer allocations for hashing from over 11,000 to one for large wheels like PyTorch, resulting in cold install time reductions of 2.6% to 9.5% for various packages.