Skip to content

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.

3 participants