Weave performance is very bad in 0.9

John Arbash Meinel john at arbash-meinel.com
Sat Jul 22 01:35:56 BST 2006


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

Bzr's performance with weaves has gotten really poor now that we've
stopped trying to optimize for them at all. And probably we've removed
all the optimizations that we used to have.

I wanted to test if an old bug had been fixed, so I rsync'd down
'bzr.dev.as.weaves', and just did:

bzr init --format=weave bzr.dev2
cd bzr.dev2
bzr pull ../bzr.dev

It took a total of 40 minutes.

The CPU has been pegged the whole time. And memory consumption is around
80MB. I get the feeling we are regenerating all of the history (as in
extracting each text, and adding it to the weave), rather than just
copying the weaves.

I know we used to just us 'list_dir' and copy the files themselves over.
Which we don't do for 'pull', though I did see that we do it for 'bzr
branch'.

I realize we have knits now, and they are much faster than weaves will
ever be. But it really seems like we are outrageously penalizing weaves.

the time to just do 'bzr branch bzr.dev.as.weaves bzr.dev3' was almost
as bad at 36.5 minutes.

And at the very least, our progress bar is all messed up. It progresses
quickly to 100% to say 'listing files 594/594' and then sits there at
100% spinning for the next X minutes.

Anyway, I feel like we might want to do something to help people
migrating. It seems like if they upgrade to 0.9, and suddenly
performance is worse, they may not stick around to find out that knits
are very good.

It is bad enough, that I might even recommend issuing a warning when
connecting to a weave format branch, with a recommendation to upgrade it
to knits.

John
=:->
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.4.2.2 (GNU/Linux)
Comment: Using GnuPG with Mozilla - http://enigmail.mozdev.org

iD8DBQFEwXLrJdeBCYSNAAMRAliOAKDTAPN3dCzq43TSi/NLo2j3zTeGLQCgw9ip
82srwxNX3IWGEZIBRa/L1M8=
=nsju
-----END PGP SIGNATURE-----




More information about the bazaar mailing list