[haiku-development] Git/Hg: some speed tests

The following tests are performed on my Macbook Pro 2.4 GHz Intel Core
i5, 4 GB memory.

Other data:

Git: 1.7.3.1 OSX, 1.7.1 in Haiku
Hg: 1.8.3
Haiku GCC4, revision 40045
1 GB RAM
Virtualbox 4.0.6

=== Checkout on Mac OS X: ===

GIT over SSH
real    2m37.450s
user    0m40.280s
sys     0m13.552s


HG over SSH
real    11m22.635s
user    2m25.870s
sys     0m56.424s

HG over HTTP
real    5m4.333s
user    2m36.783s
sys     0m33.859s


=== Checkout on Haiku ===

GIT over GIT

real    4m29.744s
user    0m33.394s
sys     0m46.554s

HG over HTTP

real    12m40.443s
user    2m55.937s
sys     3m24.307s


=== Get the working copy back 500 changesets ===

GIT: git checkout babe5a81

real    0m18.432s
user    0m2.375s
sys     0m6.294s

HG: hg update -r -500

real    0m14.154s
user    0m2.251s
sys     0m5.085s

=== Get the working copy back 10000 changesets ===

GIT: git checkout babe5a81

real    3m6.691s
user    0m5.175s
sys     0m35.065s

HG: hg update -r -10000

real    3m29.001s
user    0m14.199s
sys     0m50.017s


=== Get an overview of changes in the repository (5 modified files) ===
GIT: git status

real    0m7.759s
user    0m0.403s
sys     0m2.290s

HG: hg status

real    0m4.071s
user    0m0.891s
sys     0m1.758s

=== Get a diff between HEAD and 20 revisions back ===
GIT: git --no-pager diff -r7d0410039

real    0m3.360s
user    0m1.155s
sys     0m1.628s

HG: hg diff -r -20

real    0m6.972s
user    0m3.427s
sys     0m2.756s


=== Get a log of the last 1000 commits ===
GIT: git log -n 1000

real    0m0.294s
user    0m0.133s
sys     0m0.082s

HG: hg log --limit 1000

real    0m0.890s
user    0m0.548s
sys     0m0.235s


=== Get the log of the trunk/src/system/kernel/team.cpp ===
GIT: git --no-pager log src/system/kernel/team.cpp

real    0m4.713s
user    0m2.091s
sys     0m0.451s

HG: hg log src/system/kernel/team.cpp

real    0m0.743s
user    0m0.230s
sys     0m0.208s

Other related posts: