Skip to content

Benchmark fresh and overlapping wheel installs - #1477

Draft
zaniebot wants to merge 1 commit into
zb/bench-real-wheel-extractionfrom
zb/bench-real-wheel-install
Draft

zaniebot wants to merge 1 commit into
zb/bench-real-wheel-extractionfrom
zb/bench-real-wheel-install

Conversation

@zaniebot

Copy link
Copy Markdown
Collaborator

Wheel installation costs depend on the package layout, link mode, and whether files already exist. Exercise the production installer with published Flask, JupyterLab, NumPy, and SymPy wheels using both copies and hardlinks. Separate fresh installs from full-overlap replacements, and prepare distinct destination inodes outside the timed region so replacement cases reach the atomic merge paths. This covers astral-sh#19382, astral-sh#21468, and astral-sh#21478.

@astral-automations-bot astral-automations-bot Bot added area:benchmarks Related to benchmarking internal A refactor or improvement that is not user-facing labels Sep 11, 2026
@zaniebot
zaniebot added this pull request to stack #1482 September 11, 2026 21:44
@codspeed

codspeed Bot commented Sep 11, 2026 •

Copy link
Copy Markdown

Merging this PR will not alter performance

✅ 49 untouched benchmarks
🆕 16 new benchmarks

Performance Changes

Mode Benchmark BASE HEAD Efficiency
🆕 WallTime fresh_copy[flask] N/A 7.5 ms N/A
🆕 WallTime fresh_copy[jupyterlab] N/A 377.9 ms N/A
🆕 WallTime fresh_copy[numpy] N/A 355.7 ms N/A
🆕 WallTime fresh_copy[sympy] N/A 361.3 ms N/A
🆕 WallTime fresh_hardlink[flask] N/A 2.1 ms N/A
🆕 WallTime fresh_hardlink[jupyterlab] N/A 126.6 ms N/A
🆕 WallTime fresh_hardlink[numpy] N/A 36.6 ms N/A
🆕 WallTime fresh_hardlink[sympy] N/A 57.7 ms N/A
🆕 WallTime replace_copy[flask] N/A 8.6 ms N/A
🆕 WallTime replace_copy[jupyterlab] N/A 414.2 ms N/A
🆕 WallTime replace_copy[numpy] N/A 399.9 ms N/A
🆕 WallTime replace_copy[sympy] N/A 423.4 ms N/A
🆕 WallTime replace_hardlink[flask] N/A 4.4 ms N/A
🆕 WallTime replace_hardlink[jupyterlab] N/A 188.8 ms N/A
🆕 WallTime replace_hardlink[numpy] N/A 124.5 ms N/A
🆕 WallTime replace_hardlink[sympy] N/A 181.7 ms N/A

Comparing zb/bench-real-wheel-install (f0b0e4a) with zb/bench-real-wheel-extraction (2398a89)1

Open in CodSpeed

Footnotes

  1. No successful run was found on zb/bench-real-wheel-extraction (ca1d9e0) during the generation of this report, so c909300 was used instead as the comparison base. There might be some changes unrelated to this pull request in this report. ↩

@zaniebot
zaniebot force-pushed the zb/bench-real-wheel-install branch from 4b1c976 to f0b0e4a Compare September 12, 2026 13:25
@zaniebot zaniebot added risk:2 Low, contained risk of minor incorrect behavior with straightforward recovery. priority:4 Low: worthwhile tests, refactors, or maintenance with modest immediate benefit. size:2 Moderate: one subsystem with meaningful invariants, edge cases, or operational evidence to inspect. priority:3 Normal: useful features, documentation, usability, or routine efficiency improvements. and removed priority:4 Low: worthwhile tests, refactors, or maintenance with modest immediate benefit. labels Sep 22, 2026
@zaniebot zaniebot added the build:skip-release Disable building release binaries for a pull request label Oct 7, 2026

This branch has not been deployed

No deployments
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

area:benchmarks Related to benchmarking build:skip-release Disable building release binaries for a pull request internal A refactor or improvement that is not user-facing priority:3 Normal: useful features, documentation, usability, or routine efficiency improvements. risk:2 Low, contained risk of minor incorrect behavior with straightforward recovery. size:2 Moderate: one subsystem with meaningful invariants, edge cases, or operational evidence to inspect.

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants