GIT IZ FAST. EVRYONE—EVEN MOST OV TEH HARD CORE USERS OV THEES
OTHR SISTEMS—GENERALLY GIV GIT DIS TITLE. WIF GIT, ALL
OPERASHUNS R PERFORMD LOCALLY GIVIN IT BIT OV LEG UP ON
SVN AN PERFORCE, BOTH OV WHICH REQUIRE NETWORK ACCES 4 CERTAIN OPERASHUNS.
HOWEVR, EVEN COMPARD 2 TEH OTHR DSCMS DAT ALSO PERFORM OPERASHUNS
LOCALLY, GIT IZ PRITEE FAST.
PART OV DIS AR TEH LIKELY CUZ IT WUZ BUILT 2 WERK ON TEH LINUX
KERNEL, WHICH MEANZ DAT IT HAS HAD 2 DEAL EFFECTIVELY WIF LARGE
REPOSITORIEZ FRUM DAI WAN. ADDISHUNALLY, GIT IZ WRITTEN IN C, REDUCIN TEH
OVERHEAD OV RUNTIMEZ ASSOCIATD WIF HIGHR-LEVEL LANGUAGEZ.
ANOTHR REASON DAT GIT IZ SO FAST IZ DAT TEH PRIMARY DEVELOPERS
HAS MADE DIS DESIGN GOAL OV TEH APPLICASHUN.
TEH FOLLOWIN R NUMBR OV BENCHMARKZ DAT I PERFORMD ON 3
COPIEZ OV TEH DJANGO SOURCE CODE REPOSITORY IN 3 DIFFERENT SCMS:
GIT, MERCURIAL AN BAZAAR. I ALSO TESTD SUM OV DIS STUFF IN SVN,
BUT TRUST ME, IZ SLOWR—BASICALLY TAEK TEH BAZAAR NUMBERS AN
DEN ADD NETWORK LATENCY...
TEH END RESULT WUZ DAT 4 EVRYTHIN BUT ADDIN NEW FILEZ, GIT
WUZ FASTEST. (ALSO RLY LARGE COMMITS, WHICH HG WUZ BASICALLY TEH
SAME AT, BUT TEH COMMIT I TESTD WUZ SO LARGE DAT URE UNLIKELY
2 EVR DO ANYTHIN LIEK IT—NORMAL COMMITS R MUTCH FASTR IN GIT.)
|
Git |
Hg |
Bzr |
| Init |
0.024s |
0.059s |
0.600s |
| Add |
8.535s |
0.368s |
2.381s |
| Status |
0.451s |
1.946s |
14.744s |
| Diff |
0.543s |
2.189s |
14.248s |
| Tag |
0.056s |
1.201s |
1.892s |
| Log |
0.711s |
2.650s |
9.055s |
| Commit (Large) |
12.480s |
12.500s |
23.002s |
| Commit (Small) |
0.086s |
0.517s |
1.139s |
| Branch (Cold) |
1.161s |
94.681s |
82.249s |
| Branch (Hot) |
0.070s |
12.300s |
39.411s |
TEH COLD AN HAWT BRANCHIN NUMBERS R TEH NUMBERS 4 DA FURST
AN SECOND TIEMS DAT I BRANCHD REPO—TEH SECOND NUMBR BEAN
A BRANCH WIF HAWT DISK CACHE.
IT SHUD BE NOTD DAT ALTHOUGH TEH ADD NUMBERS R MUTCH SLOWR,
DIS WUZ 4 MASIF ADD OPERASHUN—OVAR 2000 FILEZ. 4 DA
MAJORITY OV WUT MOST PEEPS DO ON DAILY BASIS, ADD OPS IN ANY
OV THEES SISTEMS WILL ONLY TAEK FRACSHUN OV SECOND. ALL OV TEH
OTHR OPS TESTD HER (EXCEPT 4 DA LARGE COMMIT, POSIBLY) R
MOAR INDICATIV OV THINGS U MITE AKSHULLY DO DAI 2 DAI.
THEES NUMBERS R RLY NOT DIFFICULT 2 RECREATE, SIMPLY CLONE TEH DJANGO
PROJECT IN EACH OV TEH SISTEMS AN TRY OUT TEH SAME COMMANDZ IN EACH.
git clone git://github.com/brosner/django.git dj-git
hg clone http://hg.dpaste.com/django/trunk dj-hg
bzr branch lp:django dj-bzr
svn checkout http://code.djangoproject.com/svn/django/trunk dj-svn