Da Anonimo (non verificato) , 29 Aprile 2026

Due vittorie di parallelismo

Due impostazioni sbloccano speedup significativi per le operazioni quotidiane. core.preloadIndex parallelizza le chiamate lstat che git status fa; il checkout parallelo (Git 2.32+) parallelizza le scritture di file durante git checkout, git switch e git restore.

Preload index

git config core.preloadIndex true

Checkout parallelo

git config checkout.workers 0
git config checkout.thresholdForParallelism 100

Quando il checkout parallelo aiuta di piu

  • Cambiare branch con migliaia di file diversi.
  • Checkout iniziale dopo il clone.
  • Ripristinare grandi insiemi di percorsi via git restore.
  • Filesystem con apertura per file lenta.

Misurazione

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

Caveat

Il checkout parallelo interagisce con i filtri smudge: i filtri girano sequenzialmente per file, ma piu file girano in parallelo.

Avvertenze filesystem

Su Windows, l'antivirus puo serializzare le creazioni di file.

Errori comuni

Disabilitare preloadIndex su dischi lenti — al contrario: il parallelismo nasconde la latenza.