Zwei Parallelitats-Gewinne
Zwei Einstellungen schalten signifikante Speedups fur Alltagsoperationen frei. core.preloadIndex parallelisiert die lstat-Aufrufe, die git status macht; paralleler Checkout (Git 2.32+) parallelisiert die Datei-Schreibvorgange wahrend git checkout, git switch und git restore.
Preload Index
git config core.preloadIndex true
Paralleler Checkout
git config checkout.workers 0
git config checkout.thresholdForParallelism 100
Wann paralleler Checkout am meisten hilft
- Branches mit Tausenden von Dateiunterschieden wechseln.
- Initialer Checkout nach Klon.
- Grosse Pfadmengen via
git restorewiederherstellen. - Dateisysteme mit langsamem Per-File-Open.
Messung
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
Vorbehalte
Paralleler Checkout interagiert mit Smudge-Filtern: Filter laufen sequenziell pro Datei, aber mehrere Dateien laufen parallel.
Dateisystem-Warnungen
Auf Windows kann Antivirus-Software Datei-Erstellungen serialisieren.
Haufige Fehler
preloadIndex auf langsamen Disks deaktivieren — falsch herum: Parallelitat verbirgt Latenz.