commit - iter_changes, on chk repositories.

Robert Collins robert.collins at canonical.com
Wed Mar 25 10:39:19 GMT 2009


So, my patch for iter_changes commits works:
 - with --no-plugins (avoiding anything external that might use the
inventory) it doesn't create an inventory from the dirstate,
 - immediately after a bzr pack it is:
   chk255$ echo "fo" >> NEWS && time ../../repository/bzr --no-plugins
commit  -m foo
modified NEWS
Committed revision
4213.                                                                                                                                                                                           

real    0m1.407s
user    0m0.788s
sys     0m0.112s

 - and a second commit:
$ echo "fo" >> NEWS && time ../../repository/bzr --no-plugins commit  -m
foo
modified NEWS
Committed revision
4214.                                                                                                                                                                                           

real    0m0.836s
user    0m0.672s
sys     0m0.076s

For comparison on xml formats the same code does:
real    0m1.130s
user    0m0.940s
sys     0m0.096s

and

real    0m0.985s
user    0m0.904s
sys     0m0.076s

And bzr.dev does

real    0m1.045s
user    0m0.884s
sys     0m0.104s

So, broadly, record_iter_changes is much of a muchness for xml
inventories, but significantly better *even on a fully packed repo* for
chk repositories.

To test, merge my patch into e.g. brisbane-core, and enable it for
subtree repositories:
            # not self.branch.repository._format.supports_tree_reference
and
, line 294.

-Rob

-Rob
-------------- next part --------------
A non-text attachment was scrubbed...
Name: not available
Type: application/pgp-signature
Size: 197 bytes
Desc: This is a digitally signed message part
Url : https://lists.ubuntu.com/archives/bazaar/attachments/20090325/7e1e40f7/attachment.pgp 


More information about the bazaar mailing list