> Well, the tar version compresses much better than zip because it is
> streaming and doesn't have an index. since you tar then gzip, it  
> doesn't
> compress each patch independently but rather compresses a single  
> stream
> containing all the patches. since patches are extremely similar, this
> results in substantial improvements over individually compressing each
> file like zip does in order to individually access them via its index.

Really?  Perhaps you were talking about "zip" [1], but I am talking  
about "7z" a.k.a. "7-zip" [2].

I decided to measure this on my allmydata.org repository.  Hopefully  
the names are self-explanatory.  The first two are ones that are  
actually implemented by darcs at this time.

$ du -sk * # So the numbers are in KiB
81592   trunk-nocompress-individual-patches
48980   trunk-gz-individual-patches
44528   trunk-7z-individual-patches
18784   trunk-tar-gz-all-at-once
10644   trunk-tar-7z-all-at-once
10600   trunk-7z-all-at-once

So basically, it would be interesting if some Haskell hacker wanted  
to make 7z archives (or else 7z-compressed tarballs) available in  
through a Haskell interface.  Depending on your filesystem and your  
usage, it might well be that the result is faster as well as more  
compact (they key to being faster would be to avoid a seek() that  
wasn't already cached by your filesystem.  Obviously tighter  
compression can help with this.).

Regards,

Zooko

[1] http://en.wikipedia.org/wiki/ZIP_(file_format)
[2] http://en.wikipedia.org/wiki/7z
_______________________________________________
darcs-devel mailing list
darcs-devel@darcs.net
http://lists.osuosl.org/mailman/listinfo/darcs-devel

Reply via email to