Bazaar performance
Guido Ostkamp
bazaar at ostkamp.fastmail.fm
Thu May 15 22:25:40 BST 2008
Hello,
after finishing a conversion from Git to Bazaar with help of Ian
Clatworthy (thanks, again, Ian!), I did some initial performance tests
with Bazaar compared to Git and Mercurial on my large repository (~11000
files, > 41000 changesets, repo size > ~500 MB).
These are the results (with bazaar 1.4):
Cloning from remote host via ssh/sftp:
Bazaar: 6:31 min (bzr clone sftp://...)
Mercurial: 3:39 min (hg clone ssh://...)
Git: 1:23 min (git clone ssh://...)
Cloning new local branch:
Bazaar: 2;49 min (bzr clone master branch # in shared repo)
Mercurial: 0:29 min (hg clone master branch)
Git: 0:07 min (git clone master branch)
Displaying logging info:
Bazaar: 0:11 min (bzr log | head)
Mercurial: 0:00.7 min (hg log | head)
Git: 0:00.3 min (git log | head)
Displaying logging info -v / -p:
Bazaar: 0:42 min (bzr log -v | head)
Mercurial: 0:00.7 min (hg log -v | head)
Git: 0:00.4 min (git log -p | head)
Adding ~6 MB file:
Bazaar: 0:12.6 min (bzr add file; bzr commit)
Mercurial: 0:02.5 min (hg add file; hg commit)
Git: 0:00.2 min (git add file; git commit)
Removing file:
Bazaar: 0:11.5 min (bzr rm file; bzr commit)
Mercurial: 0:01.7 min (hg rm file; hg commit)
Git: 0:00.3 min (git rm file; git commit)
So in any of the cases, bazaar is unfortunately the slowest system.
Especially the poor performance on logging information queries appears
strange.
I would be interested to understand the technical reasons.
As far as I know, the main differences between bazaar and the other two
systems are that Bazaar is dealing with directory versioning, while the
others are not and of course that Git is implemented in C instead of
Python.
But does directory versioning really count in that much?
Do Git and/or Mercurial have data structures that Bazaar doesn't have
which support faster access?
Regards
Guido
More information about the bazaar
mailing list