Slow "bzr branch" on Savannah

Eli Zaretskii eliz at gnu.org
Thu Feb 10 19:04:04 UTC 2011


> Date: Tue, 08 Feb 2011 15:22:12 -0600
> From: John Arbash Meinel <john at arbash-meinel.com>
> CC: Eric Siegerman <lists08-bzr at davor.org>, bazaar at lists.canonical.com

I did some more measurements using the advice given.  To summarize:

  . nosmart+ is a clear winner on Savannah, at least for the machine
    that is on the same LAN -- it gives me the same time as with SFTP
    (15 min)

  . a remote Windows machine is twice as fast with Launchpad (either
    HTTP or bzr+ssh), which is as fast as SFTP was with Savannah

  . On Windows, nosmart+ with Savannah yields no improvement at all

Details below.  Any comments will be appreciated.

> On 2/8/2011 1:19 PM, Eli Zaretskii wrote:
> ...
> 
> > What does Launchpad know or do that bzr.savannah doesn't?
> 
> Use bzr 2.2+ rather than 2.0?

Given the results below, the time for bzr+ssh://bazaar.launchpad.net/
is almost the same as for bzr+ssh on Savannah, would you expect this
to produce a significant improvement?  Maybe because of the LAN
connection?

> 
> > 
> > The detailed results are as follows:
> > 
> >   1) lp:emacs
> > 
> >      a) GNU/Linux:
> > 
> >         time:
> > 
> >           real    47m31.014s
> >           user    16m31.510s
> >           sys     0m14.000s
> > 
> >         network:
> > 
> >           Transferred: 675470KiB (237.1K/s r:675004K w:467K)
> > 
> >      b) Windows:
> > 
> >         time:
> > 
> >           real    01h04m01.629s
> >           user    00h20m54.484s
> >           sys     00h00m57.046s
> > 
> >         network:
> > 
> >           Transferred: 676975kB (176.3kB/s r:676479kB w:496kB)
> 
> I'm assuming you aren't logged in here, since you mention the 'HTTP'
> debug messages later. So this is effectively:
> 
>   bzr branch http://bazaar.launchpad.net/...
> 
> I would certainly be curious about the times for:
> 
>   bzr branch bzr+ssh://bazaar.launchpad.net/
> 
> But you would need an LP user id for that.

Thanks to Andrew's instructions, I now have them.  Here are the times:

  GNU/Linux:

    real    49m17.067s
    user    14m36.890s
    sys     0m14.250s

    Transferred: 591993KiB (200.3K/s r:591914K w:79K)

  Windows:

    real    01h10m09.873s
    user    00h40m22.046s
    sys     00h05m36.921s

    Transferred: 606200kB (144.1kB/s r:606120kB w:81kB)

Bottom line: no difference wrt http://.  Is this expected?

> >   2) bzr://bzr.savannah.gnu.org/emacs/trunk
> > 
> >      a) GNU/Linux:
> > 
> >         time:
> > 
> >           real    45m4.820s
> >           user    15m58.380s
> >           sys     0m12.910s
> > 
> >         network:
> > 
> >           Transferred: 540480KiB (199.9K/s r:540403K w:77K)
> > 
> >      b) Windows:
> > 
> >         time:
> > 
> >           real    02h13m52.949s
> >           user    00h15m37.828s
> >           sys     00h00m39.578s
> > 
> >         network:
> > 
> >           Transferred: 552961kB (68.9kB/s r:552882kB w:79kB)
> 
> This seems to be a latency thing. And from what you described it could
> be something non-optimal about the "discovering revisions to fetch"
> phase. There are a lot of pieces that could be involved:
> [...]
> 4) Something to check:
> 
>  bzr branch nosmart+bzr://...

Results:

  GNU/Linux

    real    16m30.189s
    user    15m22.090s
    sys     0m14.560s

    Transferred: 780914KiB (789.2K/s r:780640K w:275K)

  Windows:

    real    02h28m35.032s
    user    00h20m36.921s
    sys     00h00m50.750s

    Transferred: 799657kB (89.7kB/s r:799375kB w:282kB)

Bottom line: a dramatic improvement for GNU/Linux (but the machine
sits on the same LAN as Savannah, remember?), and no change at all for
a remote Windows machine.

> One other thing to try. Skip the 'init-repo' step. So rather than doing:
> 
> bzr init-repo test
> cd test
> bzr branch $SOURCE
> 
> Just do:
> 
> bzr branch $SOURCE test

Results:

  GNU/Linux, bzr://bzr.savannah.gnu.org/emacs/trunk

    real    30m23.956s
    user    11m33.760s
    sys     0m17.730s

    Transferred: 540873KiB (296.7K/s r:540872K w:2K)

  GNU/Linux, bzr+ssh://MYID@bzr.savannah.gnu.org/emacs/trunk

    real    44m22.455s
    user    11m58.350s
    sys     0m16.210s

    Transferred: 540873KiB (203.6K/s r:540871K w:2K)

On Windows, this method yields no difference from the one where I
create a repo first.  On GNU/Linux, a small (30%) improvement for
bzr://, and no improvement for bzr+ssh://.



More information about the bazaar mailing list