[MERGE] Reduce overhead on commit by using knit specific API

Robert Collins robertc at robertcollins.net
Sun Sep 9 23:17:54 BST 2007


This branch improves commit performance by removing a check for parents
being present when adding texts. On 55K texts with a pack repo thats
about 10 seconds saved.

The check in question is only performed during 'add_lines', not
add_lines_with_ghosts, so I addressed this by changing CommitBuilder to
use add_lines_with_ghosts, using a subclass of that to preserve the api
used by weave repositories when adding texts.

At the same time I noted that we have a trivial compatibility hunk in
place in CommitBuilder which only affects subclasses of CommitBuilder
that require that the root entry *not* be supplied. The only plugins can
can be affected by this are foreign repository suppliers - bzr-svn,
bzr-hg etc - which also support commits, and AFAIK that means only
bzr-svn which subclasses RootCommitBuilder and is unaffected. So I
cleaned up the compatibility layer too to help keep the code simpler.

I think this is safe for 0.91.

Rob



-- 
GPG key available at: <http://www.robertcollins.net/keys.txt>.
-------------- next part --------------
A non-text attachment was scrubbed...
Name: bzr-mail-Kkntgl.patch
Type: text/x-patch
Size: 11256 bytes
Desc: not available
Url : https://lists.ubuntu.com/archives/bazaar/attachments/20070910/2443fa21/attachment-0001.bin 
-------------- next part --------------
A non-text attachment was scrubbed...
Name: not available
Type: application/pgp-signature
Size: 189 bytes
Desc: This is a digitally signed message part
Url : https://lists.ubuntu.com/archives/bazaar/attachments/20070910/2443fa21/attachment-0001.pgp 


More information about the bazaar mailing list