Comment 2 for bug 435048

Revision history for this message
John A Meinel (jameinel) wrote : Re: [Bug 435048] [NEW] many get_parent_map calls during walk to common revisions

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

Martin Pool wrote:
> Public bug reported:
>
> While pulling from lp:bzr-svn into my copy, with the remote in 2a and my
> branch in a pack format, I see it make very slow progress with many
> small get_parent_map calls. I eventually interrupted it in
>

^- Isn't that backwards? Last I checked bzr-svn was in 1.9-rich-root
format...

...
> File "/home/mbp/bzr/trunk/bzrlib/fetch.py", line 103, in __fetch
> search = self._revids_to_fetch()
> File "/home/mbp/bzr/trunk/bzrlib/fetch.py", line 172, in _revids_to_fetch
> find_ghosts=self.find_ghosts)
> File "/home/mbp/bzr/trunk/bzrlib/decorators.py", line 138, in read_locked
> result = unbound(self, *args, **kwargs)
> File "/home/mbp/bzr/trunk/bzrlib/repository.py", line 1522, in search_missing_revision_ids
> revision_id, find_ghosts)

^- This means it was using the streaming fetch code path.

> File "/home/mbp/bzr/trunk/bzrlib/decorators.py", line 138, in read_locked
> result = unbound(self, *args, **kwargs)
> File "/home/mbp/bzr/trunk/bzrlib/repository.py", line 3479, in search_missing_revision_ids
> return self._walk_to_common_revisions([revision_id])
> File "/home/mbp/bzr/trunk/bzrlib/repository.py", line 3435, in _walk_to_common_revisions
> next_revs_part, ghosts_part = searcher.next_with_ghosts()

^- And I think the overhead was just in the _walk_to_common part.

This is supposed to grab the revisions, and a bit of extra history. That
said, I think Andrew has spent a lot more time optimizing 'push'
performance rather than 'pull' performance. And it is possible that some
more tweaking needs to be done here.

John
=:->

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

iEYEARECAAYFAkq6I2oACgkQJdeBCYSNAAOaigCeOEJRlNuO2iglX8nWTCsAV6Jy
aScAoM/mqBKdp6mQNi9N566MVxh9Z+EP
=hDzG
-----END PGP SIGNATURE-----