Some timings using bzr

David Ingamells david.ingamells at mapscape.eu
Fri Jul 11 15:33:29 BST 2008


Ian Clatworthy wrote:
> I would hope so too. In particular, Aaron Bentley and I did some work in
> 1.6beta2 to speed up local branching on large repos that may help. Once
> 1.6 ships, I'd be interested in seeing any follow-up benchmarks you do.
>
> Ian C.
>   
An update.
I've just found out that the tests I ran yesterday were using bzr 1.5 as 
the client as I reported, but the server for the bzr serve tests was 
version 1.2. sorry if this has misled anyone.

I have run some tests today as a result of the discussions in this 
thread and there is some mild good news and some possibly very bad news.

I've run tests with 2 repositories on a server the original one with 
format dirstate-tags and a now one copied rom the original and then bzr 
upgrade applied. The version of bzr used in the upgrade was 1.2.

I then timed the client machine running bzr branch using bzr:// and 
file://, where both accessed the same 2 repositories on a disk local to 
the server (file:// did the access via an NFS mount). These timings were 
run twice:
1) using server bzr v1.2 and client bzr 1.5
2) using server and client running an installed version of bzr 1.6b2.

1) bzr 1.2 --> 1.5
===========
Times are elapsed / CPU:

                                  file://NFS                       bzr://
dirstate-tags               48 / 43                          51 / 43
pack-0.92                   48 / 48                          63 / 40


2) bzr 1.6b2

                                 file://NFS                       bzr://
dirstate-tags              220 / 198                      552 / 39
pack-0.92                     48 / 47                          59 / 37


The tests was run sequentially in a loop 3 times, and the times shown 
are the best of the 3.
In all of the tests the 2 machines were otherwise idle.

As you will see from the figures

    * With bzr v1.2/v1.5 pack-0.92 is marginally worse that
      dirstate-tags with bzr:// and equal with file://.
    * With bzr 1.6b2, however the timings for pack have improved
      slightly compared to the old version for bzr:// serving a
      pack-0.92 repos, but when accessing a dirstate-tags repos the
      performance is terrible!!!

Given that the dirstate-tags format is deprecated you may not be too 
concerned about the bad times with this format - it is certainly one way 
to get users to upgrade to pack-0.92 ;^)

For the pack-0.92 format I see no improvement for file:// access to an 
otherwise idle NFS connection, but bzr:// access is a little better, 
although still not as good as version 1.2 / 1.5 bzr:// access to 
dirstate-tags.

I'm off for the weekend now!






More information about the bazaar mailing list