Mercurial vs. Bazaar speedtest clone and log - update: hg 1.1 vs. bzr 1.10
Alexander Belchenko
bialix at ukr.net
Mon Dec 15 00:14:17 UTC 2008
I'm curious why you have this warning message in your test.sh output:
No handlers could be found for logger "bzr"
It seems like your system lacks something. Is it intended?
Or you just don't have desire to get bzr working right?
Also, it will be nice to know does you run pre-packaged version of bzr
(actually I'd like to make sure that you run bzr with compiled C-extensions)
and what version of python you're using. AFAIK bzr is not completelly ported
to Python 2.6 (but I could be wrong here).
To make local cloning of of bzr much faster you'd need to use shared repositories.
So you can change your steps for bzr as following.
1) Initial cloning:
time bzr init-repo .
time bzr branch http://code.python.org/python/trunk python-bzr-trunk
2) Repo size
I guess after inital clone you'll end up with tightly packed repo,
but you can run pack manually:
bzr pack
rm .bzr/repositry/obsolete_packs/*
and then run `du -hs`.
Do you confident both hg and bzr repos has the same set of revisions?
3) Local clone will be faster if you do it in shared repo (that have been created in step 1):
time bzr branch python-bzr-trunk python-bzr-trunk2
or even
time bzr branch python-bzr-trunk python-bzr-trunk2 --hardlink
I understand that your intent is to show that hg is much faster,
but even with my hints it still will be faster than bzr, but I guess
difference will be much smaller (not 6x-7x times).
Anyway, I have no relation to core Python development, and I'm not bzr advocate,
so I don't care and don't expect if somebody will bother to re-run your test.sh
with my suggestions.
Arne Babenhauserheide пишет:
> I just updated my bzr vs. hg speedtest for clone and log, this time for bzr
> 1.10 and hg 1.1:
>
> - http://draketo.de/english/free-software/light/mercurial-vs-bazaar-
> speedtest-2-hg-1-1-vs-bzr-1-10
>
> This time it comes with a simple test script, so you can simply repeat the
> tests for yourself.
>
> I wrote that test script (test.sh) in shell, because the test actually simply
> consists of calling time, bzr and hg, along with some rm and cp :)
>
> The results:
>
> * First test: Initial cloning from the web.
> With repositories containing the same changesets (roughly, since bzr tracks
> dir name changes and hg doesn't) Mercurial is more than 6 times as fast as
> Bazaar. But there might be a better way to serve bzr repositories, so this
> isn't perfectly decisive. But since local cloning in Mercurial is 6.7 times
> faster, the reason for the higher speed is likely to be in the client.
>
> * Second test: Repository size
> A Mercurial repository needs about half the space of a Bazaar repository, even
> though they contain roughly the same data. (111M instead of 214M)
>
> * Third test: A full log.
> Here Mercurial is about 2.2 times as fast as Bazaar: 13s instead of 30s.
>
> * Fourth test: Local clones
> Local cloning in Mercurial is about 6.7 times faster than in Bazaar: about 38s
> instead of 4min 14s.
>
>
> Best wishes,
> Arne
>
More information about the Mercurial
mailing list