Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Use D: drive for Windows CI #10180

Merged
merged 5 commits into from
Jan 17, 2025
Merged

Use D: drive for Windows CI #10180

merged 5 commits into from
Jan 17, 2025

Conversation

zanieb
Copy link
Member

@zanieb zanieb commented Dec 26, 2024

When using the standard Windows runners (as opposed to the larger GitHub runners), an undocumented D: drive is available and performant. We can save some money on by using this on a standard runner instead of a larger runner with an ReFS drive. Switching to the D: drive was not acceptable for cargo test >25m runtime.

Inspired by pypa/pip#13129
See actions/runner-images#8755

Timings (grain of salt — GitHub is super noisy):

  • clippy: 2m 18s -> 2m 11s
  • build binary: 2m 3s -> 2m 35s
  • trampoline check (x86-64): 2m 32s -> 1m 50s (other architectures similar)
  • trampoline test (x86-64): 4m 12s -> 6m 7s
  • trampoline test (i686): 6m 44s -> 5m 35s

@zanieb zanieb added the internal A refactor or improvement that is not user-facing label Dec 26, 2024
@zanieb zanieb force-pushed the zb/dev-drive branch 4 times, most recently from 59f1657 to d7eecd5 Compare December 26, 2024 20:13
@zanieb zanieb force-pushed the zb/dev-drive branch 2 times, most recently from 458f0f6 to 3bc780a Compare December 26, 2024 20:25
@zanieb zanieb temporarily deployed to uv-test-publish December 29, 2024 17:10 — with GitHub Actions Inactive
@zanieb zanieb temporarily deployed to uv-test-publish December 30, 2024 02:49 — with GitHub Actions Inactive
@samypr100
Copy link
Collaborator

Interesting, I did a similar benchmark originally (not with TEMP) and found ReFS was much faster with uv than D drive. One thing we can definitely improve is moving the actual dev drive vhdx file to D: rather than C:

We can also try a mix of Dev Drive but keep TEMP in D: rather than in the Dev Drive.

@zanieb
Copy link
Member Author

zanieb commented Jan 4, 2025

Interesting, I did a similar benchmark originally (not with TEMP) and found ReFS was much faster with uv than D drive. One thing we can definitely improve is moving the actual dev drive vhdx file to D: rather than C:

Interesting, pip's recent benchmarking showed otherwise and the numbers here are honestly pretty promising for some of the jobs?

We can also try a mix of Dev Drive but keep TEMP in D: rather than in the Dev Drive.

Unfortunately there is no D: drive on the larger runners. So it's sort of looking like D: drive on a small runner or ReFS on a large runner.

@samypr100
Copy link
Collaborator

Unfortunately there is no D: drive on the larger runners

Ah, I didn't realize that. I haven't tried the larger runners on my personal runs.

@zanieb
Copy link
Member Author

zanieb commented Jan 4, 2025

It took me a while to figure out too :D

@zanieb zanieb temporarily deployed to uv-test-publish January 15, 2025 19:13 — with GitHub Actions Inactive
@zanieb zanieb marked this pull request as ready for review January 15, 2025 19:21
@zanieb zanieb requested a review from samypr100 January 15, 2025 21:41
@zanieb
Copy link
Member Author

zanieb commented Jan 15, 2025

@samypr100 if you're interested, this seems good to go.

@zanieb zanieb temporarily deployed to uv-test-publish January 17, 2025 19:30 — with GitHub Actions Inactive
@zanieb zanieb merged commit 896435f into main Jan 17, 2025
64 checks passed
@zanieb zanieb deleted the zb/dev-drive branch January 17, 2025 19:57
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
internal A refactor or improvement that is not user-facing
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants