knits

Johan Rydberg jrydberg at gnu.org
Wed Nov 23 19:25:41 GMT 2005


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

Hi folks,

I've been looking a bit closer at knits and played a bit with the code
just to see what kind of history size we can expect.  I took a
ChangeLog file from the Hurd project, containing 132 revisions.  The
full history (version for version) is 6023 kb.

I created an uncompressed knit of the 132 revisions:

   2391  test-1-uncompressed.kndx
 793671  test-1-uncompressed.knit

 (compression degree: 7.58x)

As you can see the result is not very impressive; almost 800 kb.  So I
added a little compression using zlib:

   2295  test-1-compressed.kndx
 270848  test-1-compressed.knit

 (compression degree: 22.31x) 

271 kb is a lot better than 794 kb, and might be acceptable.  I also
tried my old "revfile with annotation" implementation:

   8320  test-1-revfile.idx
 255181  test-1-revfile.revs

 (compression degree: 23.62x)

The 20 kb gain is most likely from the usage of binary format instead
of a text-based.

When it comes to extraction times there is almost no difference
between compressed and uncompressed knits.  Extracting revision 132
from the uncompressed and compressed knit takes ~0.522 and ~0.541
seconds respectively.  This is on my old P3 running at 800 MHz.

Note that no annotation information is stored for full texts, plus
that only deltas are used.  There is only one full-text revision; the
initial one.  

Unfortunately I have not had time to compare it against weaves.
Martin, Aaron, John, anyone of you have any numbers?

If you wanna peek at the files I used; 

  http://projects.ginandtonique.org/jrydberg/knit/

knit.py is a modified version of knit.py from martins knit-branch.

(Yes, ChangeLog,v is there, but hidden by apache)

~j

-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.2.5 (GNU/Linux)
Comment: Processed by Mailcrypt 3.5.8 <http://mailcrypt.sourceforge.net/>

iD8DBQFDhMI13CqIy3K3X2ERAhJvAJ9LvVUA15jLcfF9qkZKJjJMRRTQRwCdGv9e
Q9i9tP+a73mybygZSjRVOis=
=OLOt
-----END PGP SIGNATURE-----





More information about the bazaar mailing list