Benchmark: Git 1.6.3.3, Hg 1.3.1, Bzr 1.17

Jean-Francois Roy bahamut at macstorm.org
Tue Aug 18 00:03:07 BST 2009


On Aug 17, 2009, at 14:18, Jari Aalto wrote:

>> If you didn't make one, it would be nice to see numbers with a 2a
>> repository.
>
> I actually wanted to check if shared repositories would help, so I  
> added
> a test case (option --bzr-shared in script):
>
>   ./.bzr  (shared repository)
>   |
>   +-- linux-source-2.6.30   (+1 big patch commit to donwgrade to  
> 2.6.NN -1)
>   |
>   +- 1.branch  ( branch off linux-source-2.6.30 )
>   +- 2.branch  ( branch off linux-source-2.6.30 )
>
>   # test was done like this, measuring 'times' of the 'branch'  
> commands
>
>   cd linux-source-2.6.30/
>   bzr init-repo -q --2a ..
>   bzr init -q --2a
>   bzr branch . ../1.branch
>   bzr branch . ../2.branch
>
> I didn't notice any performance difference.
>
> The branching within shared repository gave similar numbers that plain
> "full clone" to the other side of local disk:
>
>   cd linux-source-2.6.30/
>   bzr clone . /tmp/tmp-clone.bzr
>
> Maybe I'm doing something wrong.
>
> Please let me know if there is something that I could improve in  
> tests [2].

You could try adding --no-trees to the init-repo command. I don't know  
about Hg and Git, but assuming that when you clone a branch they do  
not create a new working tree for it, then --no-trees would be the  
matching behavior in bzr. Otherwise, the branch operation is not only  
going to do the branch of the history (which should be fast in a  
shared repository), but will also create a new working tree, which  
could be very slow due to the massive amount of disk access involved.

Jean-François


More information about the bazaar mailing list