Deux gains de parallélisme
Deux paramètres débloquent des speedups significatifs pour les opérations quotidiennes. core.preloadIndex parallélise les appels lstat que git status fait ; le checkout parallèle (Git 2.32+) parallélise les écritures de fichiers durant git checkout, git switch et git restore.
Preload index
git config core.preloadIndex true
Checkout parallèle
git config checkout.workers 0
git config checkout.thresholdForParallelism 100
Quand ça aide le plus
- Changer de branches avec milliers de différences de fichiers.
- Checkout initial après clone.
- Restaurer de gros ensembles de chemins via
git restore. - Filesystems avec ouverture par fichier lente (Windows NTFS, partages réseau).
Mesure
time git -c checkout.workers=1 checkout main
time git -c checkout.workers=0 checkout main
GIT_TRACE2_PERF=1 git checkout big-branch 2>&1 | grep -i checkout
Avertissements
Le checkout parallèle interagit avec les filtres smudge.
Avertissements filesystem
Sur Windows, l'antivirus peut sérialiser les créations de fichiers.
Erreurs courantes
Désactiver preloadIndex sur disques lents, "pour économiser les threads" — à l'envers.