[MERGE][RFC] further add performance improvements

John A Meinel john at arbash-meinel.com
Sat May 20 14:38:58 BST 2006


John A Meinel wrote:
> Robert Collins wrote:
>> On Fri, 2006-05-19 at 09:22 -0500, John Arbash Meinel wrote:
> 
> ...
> 
>>> I think we could have 'add' always add the files to the inventory. We
>>> just don't have to write the inventory to the disk when we are done.
>> That was my example above - not calling write_inventory. Sounds like you
>> agreed.
>>
>> Do I remember you doing some profiling on inventory writing performance
>> at some point ?
>>
>> Rob
>>
> 
> I did profiling on using cElementTree versus a manual to_xml converter.
> And I found that we didn't do a whole lot better/worse (I believe
> cElementTree uses ElementTree's python implementation for serializing to
> a string).
> The biggest thing that it let us do, was customize how we wrote the XML,
> so that it would play much nicer with Weaves. I could cut down the
> inventory.weave size drastically, like at least to 1/2.

This was the actual changes:
http://article.gmane.org/gmane.comp.version-control.bazaar-ng.general/4154/

bzr.dev 2369 revisions
	inventory.weave	1.8M 1843774
	revision-store	1.0M 1064510
	.bzr/		8.0M 8346945

bzr.dev upgraded uncompressed
	inventory.weave	1.1M 1176233
	revision.weave  1.1M 1132526
        .bzr/		7.4M 7748158

bzr.dev upgraded compressed
	inventory.weave.gz 361.3K 369922
	revision.weave.gz  327.6K 335477
	.bzr/		     2.1M 2189365

> 
> We probably could get a similar improvement in knit sizes, though I
> would rather see us break up the inventory into per-directory stuff first.
> 

So I saw an improvement of 1.8 => 1.1 in the inventory weave by changing
how it was written.

John
=:->


-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 249 bytes
Desc: OpenPGP digital signature
Url : https://lists.ubuntu.com/archives/bazaar/attachments/20060520/15bd399e/attachment.pgp 


More information about the bazaar mailing list