faster commit with split inventory branch
Robert Collins
robertc at robertcollins.net
Mon Oct 13 07:45:25 BST 2008
I've implemented logic in commit to utilise inventory delta's during
commit rather than serialising a full inventory from scratch. This is
considerably faster (changing one file):
split inventory, full serialisation, mysql-server commit:
- real 0m5.555s
split inventory, using inventory delta to update the repository:
- real 0m3.006s
Now, this still has a single very large dict node, and commit doesn't
use iter_changes, so there is plenty of room to improve.
Interestingly, using a pack-0.92 tree to do the same task:
- real 0m7.783s
So even unoptimised the removal of doing line deltas seems to have
introduced performance benefits already.
The next major thing that needs doing is to use the
CHKInventory.create_by_apply_delta method to make fetch from regular
repositories faster, which will let usertest actually do a test run in
human time scales.
-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: 189 bytes
Desc: This is a digitally signed message part
Url : https://lists.ubuntu.com/archives/bazaar/attachments/20081013/3a534ee6/attachment.pgp
More information about the bazaar
mailing list