'bzr branches' is pathologically slow with an svn+ssh URL

Bug #672016 reported by Glyph Lefkowitz
16
This bug affects 3 people
Affects Status Importance Assigned to Milestone
Bazaar
Fix Released
Medium
Jelmer Vernooij
Bazaar Subversion Plugin
Fix Released
Medium
Jelmer Vernooij

Bug Description

$ time svn ls svn+ssh://svn.twistedmatrix.com/svn/Twisted/branches > /dev/null

real 0m1.724s
user 0m0.014s
sys 0m0.015s

$ time bzr branches svn+ssh://svn.twistedmatrix.com/svn/Twisted/branches > /dev/null

...

Actually I got tired of waiting after about three hours and just filed the bug.

It did lots of work in the meanwhile, though.

Revision history for this message
Jelmer Vernooij (jelmer) wrote : Re: [Bug 672016] [NEW] 'bzr branches' is pathologically slow with an svn+ssh URL

  affects bzr-svn
  status triaged
  importance medium

  affects bzr
  status triaged
  medium

On Sun, 2010-11-07 at 02:03 +0000, Glyph Lefkowitz wrote:
> $ time svn ls svn+ssh://svn.twistedmatrix.com/svn/Twisted/branches > /dev/null
>
> real 0m1.724s
> user 0m0.014s
> sys 0m0.015s
>
> $ time bzr branches svn+ssh://svn.twistedmatrix.com/svn/Twisted/branches
> > /dev/null
>
> ...
>
> Actually I got tired of waiting after about three hours and just filed
> the bug.
>
> It did lots of work in the meanwhile, though.
This is caused by the way in which BzrDir.find_branches(transport)
works. It finds all possible control directories first and then filters
out the ones that have a branch attached to them.

In svn, where every directory is a possible control directory, this
doesn't work.

bzr-svn already has a list of branches readily available for each
repository, so it should be able to answer this question without a scan
for branches.

So it would be nice if bzr-svn could provide bzr with the list of
branches under a particular location. I'm not sure what the best way to
do that (in terms of API) is though.

Cheers,

Jelmer

Changed in bzr-svn:
importance: Undecided → Medium
status: New → Triaged
Vincent Ladeuil (vila)
Changed in bzr:
status: Triaged → Confirmed
Jelmer Vernooij (jelmer)
Changed in bzr:
importance: Undecided → Low
importance: Low → Medium
tags: added: foreign
Revision history for this message
Jelmer Vernooij (jelmer) wrote :

This is fixed with bzr-svn 1.1.0 and the new "bzr branches" command in bzr.dev. For example, running "bzr branches" against the gcc repository:

charis:~/src/bzr-svn/unstable% time bzr branches svn://gcc.gnu.org/svn/gcc
[273 lines of output]
bzr branches svn://gcc.gnu.org/svn/gcc 0.22s user 0.05s system 8% cpu 3.161 total

Changed in bzr-svn:
status: Triaged → Fix Released
Changed in bzr:
status: Confirmed → Fix Committed
milestone: none → 2.5b1
assignee: nobody → Jelmer Vernooij (jelmer)
status: Fix Committed → Fix Released
Changed in bzr-svn:
assignee: nobody → Jelmer Vernooij (jelmer)
Revision history for this message
John A Meinel (jameinel) wrote : Re: [Bug 672016] Re: 'bzr branches' is pathologically slow with an svn+ssh URL

-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1

On 8/26/2011 8:05 PM, Jelmer Vernooij wrote:
> This is fixed with bzr-svn 1.1.0 and the new "bzr branches" command
> in bzr.dev. For example, running "bzr branches" against the gcc
> repository:
>
> charis:~/src/bzr-svn/unstable% time bzr branches
> svn://gcc.gnu.org/svn/gcc [273 lines of output] bzr branches
> svn://gcc.gnu.org/svn/gcc 0.22s user 0.05s system 8% cpu 3.161
> total
>
That says 3s to do 'branches'. I'm not sure what you are expecting. It
seems like there is some room for improvement, but you're still
accessing a remote machine there.

John
=:->

-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.4.9 (Cygwin)
Comment: Using GnuPG with Mozilla - http://enigmail.mozdev.org/

iEYEARECAAYFAk5Y5WkACgkQJdeBCYSNAAMzVACgrbchNo+s1JChgCWfm0RQEOaz
VNQAoMkr6jvmkgR8jvjkbXL3K93uW/jl
=/6BE
-----END PGP SIGNATURE-----

Revision history for this message
Jelmer Vernooij (jelmer) wrote :

Yeah, I'm considering this one fixed. Previously that operation took several *hours*.

Martin Packman (gz)
description: updated
tags: added: affects-twisted
Revision history for this message
Jelmer Vernooij (jelmer) wrote :

It's still not great for twisted, but a lot better (70 seconds) than several hours.

charis:~% time bzr branches svn://svn.twistedmatrix.com/svn/Twisted | wc -l
232
bzr branches svn://svn.twistedmatrix.com/svn/Twisted 0.60s user 0.07s system 0% cpu 1:17.50 total

To post a comment you must log in.
This report contains Public information  
Everyone can see this information.

Other bug subscribers

Remote bug watches

Bug watches keep track of this bug in other bug trackers.