some time comparison when using git, mercurial with svn (subversion)

Augie Fackler durin42 at gmail.com
Sun Jun 19 08:54:15 CDT 2011


On Jun 19, 2011, at 8:51 AM, rupert THURNER wrote:
> 
> On Sun, Jun 19, 2011 at 15:04, Augie Fackler <durin42 at gmail.com> wrote:
> 
>> On Jun 19, 2011, at 7:46 AM, rupert.thurner wrote:
>>> 
>>> fyi, i timed the conversion of a small repository from subversion to
>>> git-1.7.4 / hg-1.7.5.
>>> 
>>>           git         hg
>>> --------------------------
>>> svn clone    18         31
>>> push          2          9
>>> (times in minutes)
>>> 
>>> especially surprising was that mercurial was 4 times slower when
>>> pushing. the details .......
>>> 
>>> $ time git svn clone
>> https://gar.svn.sourceforge.net/svnroot/gar/csw/mgar/gar/v2
>>> gar
>>> ...
>>> real  18m14.018s
>>> user  2m19.037s
>>> sys   1m20.341s
>>> 
>>> $ time git push origin master
>>> Counting objects: 5900, done.
>>> Delta compression using up to 2 threads.
>>> Compressing objects: 100% (5775/5775), done.
>>> Writing objects: 100% (5900/5900), 1.42 MiB | 2.31 MiB/s, done.
>>> Total 5900 (delta 4190), reused 0 (delta 0)
>>> 
>>> To git at github.com:opencsw/gar.git
>>> * [new branch]      master -> master
>>> 
>>> real  1m57.673s
>>> user  0m2.308s
>>> sys   0m0.404s
>>> 
>>> 
>>> $ time hg clone svn+https://gar.svn.sourceforge.net/svnroot/gar/csw/
>>> mgar/gar/v2 gar-hg
>>> ....
>>> pulled 927 revisions
>>> updating to branch default
>>> 228 files updated, 0 files merged, 0 files removed, 0 files unresolved
>>> 
>>> real  31m8.127s
>>> user  9m13.095s
>>> sys   0m9.941s
>>> 
>>> 
>>> $ time hg push https://rupert.thurner@gar.googlecode.com/hg
>>> warning: gar.googlecode.com certificate with fingerprint
>>> a9:be:c0:4a:da:1c:eb:4c:31:9d:78:27:48:99:f4:9c:9a:e8:53:c8 not
>>> verified (check hostfingerprints or web.cacerts config setting)
>>> pushing to https://rupert.thurner@gar.googlecode.com/hg
>>> searching for changes
>>> http authorization required
>>> realm: Google Code Mercurial Repository
>>> user: rupert.thurner
>>> password:
>>> warning: gar.googlecode.com certificate with fingerprint
>>> a9:be:c0:4a:da:1c:eb:4c:31:9d:78:27:48:99:f4:9c:9a:e8:53:c8 not
>>> verified (check hostfingerprints or web.cacerts config setting)
>>> remote: Success.
>>> 
>>> real  9m28.179s
>>> user  0m1.288s
>>> sys   0m0.244s
>> 
>> This push test isn't even remotely fair - you're pushing to a normal git
>> repository on a local spinning disk, but to hg-on-bigtable which is *known*
>> to be almost an order of magnitude slower than stock hg. Consider retrying
>> your benchmark to a hosting provider with a more orthodox setup? Preferably
>> push both repositories to the same machine so you can have known-similar
>> hardware?
> 
> ok, tried it with bitbucket as well ... and now the numbers are not
> surprising any more. i did overlook that googles mercurial is so "different"
> ...
> 
> $ time hg push ssh://hg@bitbucket.org/ThurnerRupert/gar3
> pushing to ssh://hg@bitbucket.org/ThurnerRupert/gar3
> searching for changes
> remote: adding changesets
> remote: adding manifests
> remote: adding file changes
> remote: added 927 changesets with 1858 changes to 293 files
> remote: bb/acl: ThurnerRupert is allowed. accepted payload.
> 
> real 5m30.550s
> user 0m0.880s
> sys 0m0.084s

I'd be interested to see the results of this again once bitbucket is on 1.9 with the client having ui.usehttp2=true. I suspect it'd be almost a 50% performance improvement.


> <snip another test run>


Augie

> 
> rupert.




More information about the Mercurial mailing list