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

cloning llvm-project takes 7-9 minutes in CI #186

Open
compnerd opened this issue Jul 23, 2024 · 0 comments
Open

cloning llvm-project takes 7-9 minutes in CI #186

compnerd opened this issue Jul 23, 2024 · 0 comments

Comments

@compnerd
Copy link
Collaborator

When we run the "Development Snapshot" workflow of https://github.com/thebrowsercompany/swift-build, it takes around 7-9 minutes on average to clone apple/llvm-project on windows-latest. I did a little investigation and it looks like this same clone takes around 1 minute when running on ubuntu-latest. For example: https://github.com/thebrowsercompany/swift-build/actions/runs/8575909350/job/23505928488.

We run this build several times per day and it normally takes around 2 hours to complete. We'd see a roughly 5% speedup if we could make the windows-latest job reach parity with the checkout time on ubuntu-latest. I tried doing a few things but none of them resulted in significantly faster performance. Sharing them here anyway:

Cloning apple/llvm-project on ubuntu-latest and passing the files to subsequent windows-latest jobs using Github's cache.

Same as #1, but using upload-artifact + download-artifact to pass the files between jobs.

Same as #2, but zipping the files before upload & download, and unzipping after.

Disabling Window's Defender's dynamic protection (See this Github issue)

All of these approaches take roughly the same amount of time as the original approach of just git checkouting the project on windows-latest. This leads me to believe that the bottleneck here is performing file I/O on windows, but I haven't confirmed this.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

1 participant