[MERGE] iter_changes-based merge

Aaron Bentley aaron.bentley at utoronto.ca
Fri Jul 6 02:38:24 BST 2007


-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1

Hi all,

This patch modifies merge so that it uses Tree._iter_changes.  By
itself, it seems to have little effect on performance.  But it clears
the way to other merge speed improvments.

The actual code that uses iter_changes, Merge3Merger._entries3, requires
less than 2% of runtime.  This is great.  But this implementation of
iter_changes requires full trees to be constructed.  And that takes
about 20% of runtime.

We expect to introduce a version of iter_changes that does not require
up-front construction of trees, and does not scale with the size of the
tree.  So this should eliminate that 20%.

Fast access to file versions from the repository would also improve
performance dramatically, and there are other tweaks available to us.

Aaron
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.4.6 (GNU/Linux)
Comment: Using GnuPG with Mozilla - http://enigmail.mozdev.org

iD8DBQFGjZ0Q0F+nu1YWqI0RAunSAJkBbqMnOlLx9CmEqspyWue5pS2pOACfcbmC
xrOVcs3p/hT+qFq0O4N+3B4=
=/iZ7
-----END PGP SIGNATURE-----
-------------- next part --------------
A non-text attachment was scrubbed...
Name: iter-changes-merge.patch
Type: text/x-patch
Size: 44263 bytes
Desc: not available
Url : https://lists.ubuntu.com/archives/bazaar/attachments/20070705/b7abfab4/attachment-0001.bin 


More information about the bazaar mailing list