[MERGE] Faster local branching, checkout
Aaron Bentley
aaron at aaronbentley.com
Fri Jun 6 20:13:39 BST 2008
-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1
Hi all,
With Ian's encouragement, I've hacked up a branch that implements his
performance improvements, but does it in a safer and more general way.
Ian's key observation is: generating an inventory delta is a significant
portion of our build_tree time, and is basically redundant. Also, chmod
is expensive.
While I believe that we can improve on this in the general case, Ian is
right that we cannot expect to easily attain the same performance we get
from simply reusing our existing inventory entries.
The performance I get from a Mozilla tree is basically the same as ian's
patch, because the changes have similar results:
Mine:
real 2m44.432s
user 0m47.055s
sys 0m22.161s
Ian's:
real 2m44.512s
user 0m43.627s
sys 0m21.589s
Bzr.dev:
real 3m2.334s
user 1m1.556s
sys 0m24.210s
Key differences:
- - When conflicts are encountered, precomputed deltas are not used
- - A single, parameterizable code path is used, instead of two code paths
- - Instead of toggling existing file handling, my version makes existing
file handling scale with the number of existing files.
- - Naming doesn't assume that precomputed deltas can only be used when
building trees.
- - I did not speed up iter_references. That can come as a separate
patch.
I also restored a cleanup whose lack was causing test kipple.
Aaron
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.4.6 (GNU/Linux)
Comment: Using GnuPG with Mozilla - http://enigmail.mozdev.org
iD8DBQFISYxj0F+nu1YWqI0RAnmyAJ9K5P/sxmOhVG/AvCsuAO9SnGXwGACffoR1
fdikOWR+t5ndRN4i95CSmjM=
=5tSl
-----END PGP SIGNATURE-----
-------------- next part --------------
A non-text attachment was scrubbed...
Name: fast-checkout2.patch
Type: text/x-diff
Size: 25587 bytes
Desc: not available
Url : https://lists.ubuntu.com/archives/bazaar/attachments/20080606/ac545152/attachment-0001.bin
More information about the bazaar
mailing list