[MERGE] Updated InterDifferingSerializer
John Arbash Meinel
john at arbash-meinel.com
Fri Dec 5 22:38:37 GMT 2008
-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1
This patch brings in some of the changes from the CHK code. Namely, the
InterDifferingSerializer code. It is layered on top of the
"add_inventory_by_delta" patch.
While working on this, I discovered that we didn't actually have any tests
that exercised this code. Currently the only inter-differing-serializer that
we use is going from -subtree formats to -rich-root formats. (The 1.9 =>
1.9-rich-root code uses the InterModel1And2 code.)
This patch adds a few things versus the CHK code
1) Refactor the code into several functions rather than one large function.
Mostly because the level of indenting was getting rather large.
2) Use a check on text keys that need to be copied.
In my direct testing, the new code is still correct, and means we don't end up
copying duplicate test data. For "bzr-svn" (my test case) that amounted to
16MB => 14MB. For mysql, I think this will amount to my 86% less data copied.
The nice thing about this code path is that it is, indeed, faster. Again for
bzr-svn I found the time being 40s to copy from -subtree => -rich-root down
from 60s. At that is even with Andrew's batching change to the old code.
John
=:->
PS> (this time with patch)
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.4.6 (GNU/Linux)
Comment: Using GnuPG with Mozilla - http://enigmail.mozdev.org
iD8DBQFJOa1tJdeBCYSNAAMRAhk8AJwKCH6v+/RzcR5YsWh4YIVdagU/oACfWfaP
cfcHS/JsWECChqwGnhUrbiM=
=8UOB
-----END PGP SIGNATURE-----
-------------- next part --------------
A non-text attachment was scrubbed...
Name: differ_serializer.patch
Type: text/x-diff
Size: 27264 bytes
Desc: not available
Url : https://lists.ubuntu.com/archives/bazaar/attachments/20081205/dea4ffbf/attachment-0001.bin
More information about the bazaar
mailing list