Da Anonimo (non verificato) , 29 Aprile 2026

Cosa intendiamo per performance

"Performance" nel controllo versione e multidimensionale: tempo di clone/checkout, velocita di log/blame, operazioni di branch, refresh del working tree.

Clone versus checkout

# SVN: fast for first checkout, slow for history queries
svn checkout https://svn.example.com/repo trunk

# Git: slower clone, instant history thereafter
git clone https://git.example.com/repo.git

Operazioni locali

git log --since='1 month'
svn log --limit 100

Operazioni di branch

Git e tipicamente 10-100x piu veloce per il branch switching.

Dimensione working tree

SVN puo fare checkout di sottodirectory economicamente. L'analogo Git e sparse checkout piu partial clone.

Dimensione repository su scala

Git memorizza la storia completa localmente. SVN serve solo cio che il client chiede.

Writer concorrenti

SVN serializza i commit al server.

Bandwidth di rete

Git pusha solo delta di commit non sul remote. SVN invia solo i file modificati ma per ogni commit.

Storage sul server

I pack file di Git usano compressione delta aggressivamente.

Verdetto quotidiano

Per un tipico progetto da 100k LOC con trenta ingegneri, le operazioni Git si percepiscono istantanee e quelle SVN lente.

Dove SVN scala oltre

  • Monorepo massicci di contenuto binario.
  • Accesso read-heavy.
  • Bandwidth ai client vincolata.