Skip to content

Conversation

charles-zablit
Copy link
Contributor

Cloning llvm-project is always the limiting factor when cloning from an empty directory with update-checkout, as it is the largest repository. If it's not one the first repositories being cloned, the runtime for the script increases. This is even more apparent on machines with a lower number of cores.

This patch ensures that llvm-project will always be the first repository to get processed when running update-checkout.

Testing locally on a MacBook Pro M4 Pro with 28 processes gives a runtime improvement between 14% and 18%.
./swift/utils/update-checkout --clean --reset-to-remote --clone --scheme main

With the patch: 442.90s user 174.85s system 192% cpu 5:20.23 total
Without the patch: 471.91s user 186.90s system 171% cpu 6:23.50 total

Please note that the benchmark should be repeated multiple times to get more accurate results, as this is also very much network dependent.

@charles-zablit
Copy link
Contributor Author

@swift-ci please test

@charles-zablit charles-zablit merged commit 1777e31 into swiftlang:main Oct 10, 2025
5 checks passed
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

Successfully merging this pull request may close these issues.

2 participants