why `bzr pull bundle` so slow?
John Arbash Meinel
john at arbash-meinel.com
Thu May 3 17:14:56 BST 2007
-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1
Alexander Belchenko wrote:
> Pulling bundle with big number of revisions is really slow
> even on moderately fast machine. Pulling about 100 revisions
> takes 15-20 minutes with 0.16rc2 on my laptop.
> Pulling 167 revisions (latest changes of bzr.dev)
> took about 2 hours on old Duron-750MHz.
> And most of the time bzr spends in 'Install revisions' phase
> (according to progress bar).
>
> Bundle itself has size 4225791 bytes, and was created with
> command 'bzr bundle -r2456..2477' in bzr.dev tree.
>
> Any ideas how to speed it up?
>
> [µ]
Just to give a nice simple explanation....
We currently validate every revision N^2 times. So if you have 100
revisions we validate them 100*100 times.
This is because BundleInfo.revision_tree() calls _validate_revisions,
which validates *all* revisions.
And install_bundle() calls BundleInfo.revision_tree() for *every*
revision. So we end up with N^2 behavior.
I'm working on a fix.
John
=:->
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.4.3 (GNU/Linux)
Comment: Using GnuPG with Mozilla - http://enigmail.mozdev.org
iD8DBQFGOgp/JdeBCYSNAAMRArvJAJ9UzE3NoryLNjvUOgPJDAJr8TOO0gCfcPTI
Nbq1vaMR27KznLS1q+RlFIM=
=LJWY
-----END PGP SIGNATURE-----
More information about the bazaar
mailing list