Skip to content

feat(run-task): enable parallel git checkout - #1041

Merged
bhearsum merged 1 commit into
taskcluster:mainfrom
ahochheiden:parallel-checkout
Sep 16, 2026
Merged

bhearsum merged 1 commit into
taskcluster:mainfrom
ahochheiden:parallel-checkout

Conversation

@ahochheiden

Copy link
Copy Markdown
Contributor

Fixes #1040

Stacked on #1039, only the top commit is new here.

Cold checkouts of the Firefox tree went from 27.9s to 13.3s on Linux and 111.6s to 36.0s on Windows. Git older than 2.32 ignores the settings.

@ahochheiden
ahochheiden requested a review from a team as a code owner September 11, 2026 21:59
@ahochheiden
ahochheiden requested a review from ahal September 11, 2026 21:59

@bhearsum bhearsum left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

With one worker per core the cold checkout write of the Firefox tree went
from 27.9s to 13.3s on a GCP c3d-standard-8 docker worker and from 111.6s to
36.0s on an Azure Standard_F8alds_v7 Windows worker.

Nice win!

The git docs note that parallel checkout can be slower on spinning disks or machines with very few cores.

Doesn't need to block this, but perhaps worth considering adding an env var to make it possible to disable this, in case this comes up in practice?

Holding off approving this patch until it's actually mergeable.

@ahochheiden

Copy link
Copy Markdown
Contributor Author

Doesn't need to block this, but perhaps worth considering adding an env var to make it possible to disable this, in case this comes up in practice?

Sure, I'll add it.

@ahochheiden
ahochheiden force-pushed the parallel-checkout branch 2 times, most recently from 3aaf5cc to 67fe2bf Compare September 15, 2026 22:33
git writes the working tree with one thread unless checkout.workers is set.
With one worker per core the cold checkout write of the Firefox tree went
from 27.9s to 13.3s on a GCP c3d-standard-8 docker worker and from 111.6s to
36.0s on an Azure Standard_F8alds_v7 Windows worker. Warm updates and blobless
sparse checkouts did not change, since there the fetch dominates. The
setting sits next to safe.directory in the global config, needs git 2.32,
and older gits ignore the key. The git docs note that parallel checkout can
be slower on spinning disks or machines with very few cores.

Fixes taskcluster#1040
@bhearsum
bhearsum merged commit baf16dc into taskcluster:main Sep 16, 2026
26 checks passed
@ahochheiden
ahochheiden deleted the parallel-checkout branch September 17, 2026 06:08
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.

Enable parallel Git checkout in run-task

2 participants