Quick analysis of improving xdelta3 extraction speed.
John Arbash Meinel
john at arbash-meinel.com
Fri Jun 22 03:13:39 BST 2007
-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1
Robert Collins wrote:
> On Thu, 2007-06-21 at 19:02 -0500, John Arbash Meinel wrote:
>> -----BEGIN PGP SIGNED MESSAGE-----
>> Hash: SHA1
>>
>> I finally read all the way through the VCDIFF document. It is actually
>> pretty interesting what they let you do. Ultimately, though, I think
>> there will only be so much that we can do to improve extraction
>> performance and stay compatible with the VCDIFF spec. While we could
>> write an encoder that would generate valid VCDIFF output which would be
>> friendly to our decoder, the decoder wouldn't be 100% compatible with
>> the full VCDIFF spec.
>
> ... how does this tie to xdelta3? Is xdelta3 output vcdiff compatible?
>
> -Rob
xdelta3 uses VCDIFF as the output format, yes.
I don't know if you followed the thread between Aaron and myself.
Overall, xdelta3 is fast, just not as fast as mercurial's mpatch.
[snippet about extraction]
Some numbers...
using lh_child_child on 100 revisions of builtins.py to extract the tip
(1 fulltext + 15 deltas):
extract time ~compress ratio
xdelta3 46ms 405:1
bdiff 14ms 216:1
bdiff+composing 5ms
linear on 100 revisions (1 fulltext + 98 deltas):
xdelta3 235ms 194:1
bdiff 79ms 123:1
bdiff+composing 26ms
However, xdelta is faster than bdiff at creating patches (maybe 2x or so).
John
=:->
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.4.3 (GNU/Linux)
Comment: Using GnuPG with Mozilla - http://enigmail.mozdev.org
iD8DBQFGezBTJdeBCYSNAAMRAqsuAKDQkusQiXuyLx0MiJomTwvSHbm/CQCfRPBh
mF0Io2mfA9BsGM4TlSLqhcs=
=xnOW
-----END PGP SIGNATURE-----
More information about the bazaar
mailing list