commit performance regression in 0.11

Robert Collins robertc at robertcollins.net
Mon Sep 25 22:28:32 BST 2006


On Mon, 2006-09-25 at 15:23 -0400, Aaron Bentley wrote:
> 
> > 1) We almost have the infrastructure in place to remove a
> read_inventory
> > call during commit. We just need to have the commit builder return
> the
> > RevisionTree.
> 
> I don't see anything wrong with this, but it seems simpler to just
> call
> set_parent_ids.  Yes, I realize that it will be a performance
> advantage
> for dirstate, once it arrives, but right now it's a disadvantage.

It can be an advantage right now though, which is why we should do this.

> > 2) Is there any way we can avoid the extra deserialize + serialize
> step
> > for caching the basis inventory? Or do we just need to live with it
> > until we make the new repository format the default?
> 
> The obvious solution would be for the repository serialization format
> to
> determine the basis serialization format.  IIRC, Robert didn't like
> that
> approach, because it exposed an implementation detail. 

It couples the internals of the repository with the working tree.
Consider a bzr working tree committing to a svn one, or a bzr working
tree that is a checkout of an hg one. Yes these are not our primary use
cases, but thinking about them is a good way of ensuring we can justify
any coupling that we do do.

working trees should be orthogonal to the repository format, which means
that they should have constraints on them placed on them by bzr's model,
not by any one repository.

-Rob
-- 
GPG key available at: <http://www.robertcollins.net/keys.txt>.
-------------- next part --------------
A non-text attachment was scrubbed...
Name: not available
Type: application/pgp-signature
Size: 191 bytes
Desc: This is a digitally signed message part
Url : https://lists.ubuntu.com/archives/bazaar/attachments/20060926/8a7fa779/attachment.pgp 


More information about the bazaar mailing list