[brisbane:MERGE] GroupCHKStreamSource

John Arbash Meinel john at arbash-meinel.com
Tue Mar 31 22:20:18 BST 2009


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

This adds a new StreamSource object, which is suitable for sending data
between groupcompress+chk repositories.

I wanted to move this into a generic PackStreamSource that can insert
revisions and iterate inventories to find keys that need to be sent.
However, this was far easier to implement, as I don't have to worry
about abstracting out whether or not you need to read chk pages, and how
you turn 'inventory' like things into (file_id, revision_id) keys.

On my trivial test, this changes "bzr branch X Y" times from ~5s down to
4s (bzr.dev formats are 3.6s).

I haven't run this (yet) against the launchpad tree that I was testing
earlier, mostly because we now have the last (known) disk format change,
so I can't trivially test it (I'm waiting for some conversions to finish
first).

I expect this to help 'bzr branch' times a reasonable amount, since it
means we load and process CHK pages 1 time, rather than 2x.

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

iEYEARECAAYFAknSiRIACgkQJdeBCYSNAAPRBQCgylLJiBR+X1Z71hPqkOiTWQIP
8yMAoK8p7H2g1u1lSpaefiHF6DIYYAss
=kfMG
-----END PGP SIGNATURE-----
-------------- next part --------------
An embedded and charset-unspecified text was scrubbed...
Name: gc_pack_stream_source.patch
Url: https://lists.ubuntu.com/archives/bazaar/attachments/20090331/815b11bb/attachment.diff 


More information about the bazaar mailing list