Early numbers on multi-parent diffs

Aaron Bentley aaron.bentley at utoronto.ca
Wed Apr 11 00:52:34 BST 2007


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

I've written an implementation of multi-parent diffs, and early numbers
do show significant space wins.

Here's my code:
http://code.aaronbentley.com/bzr/mpknit/

I've written a utility, "mpknit", that emits all the deltas for all
versions of a file.  It can force the number of parents to 1, for
comparison, but the output format remains the same (except that each
diff refers to only the first parent).  So this is more a comparison of
possible space-savings, not comparison against the existing knit format.
 In particular, this format does not have snapshots, annotations or gzip
compression.

I've attached an except of its output.

File            single-parent multi-parent relative
errors.py       474K          181K         0.38x
builtins.py     1.5M          640K         0.42x
NEWS            647K          294K         0.45x
knit.py         229K          206K         0.89x
iterablefile.py 9.3K          9.3K         1x

(errors.py's knit is 620K, but that's not a fair comparison, since it
includes snapshots and annotations.)

So while frequently-edited files are less than half the size,
rarely-edited files will show less size improvement.

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

iD8DBQFGHCNB0F+nu1YWqI0RAvKPAJ9dcZMadoGpWCE5zbR4V6MpDL8G8gCeMmiD
1WNyupgjRnHBaHsWFXzVh7c=
=E8Rr
-----END PGP SIGNATURE-----
-------------- next part --------------
An embedded and charset-unspecified text was scrubbed...
Name: NEWS.new
Url: https://lists.ubuntu.com/archives/bazaar/attachments/20070410/aaafb426/attachment-0001.diff 


More information about the bazaar mailing list