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