Shrink, Reduce, and Implode: The Legacy Zip Compression Methods

In this followup article, Hans Wennborg explains three of Zip’s earlier compression methods, prior to Deflate, covered here:
Shrink, Reduce, and Implode: The Legacy Zip Compression Methods

There’s a nice timeline. I well remember compact on unix and can possibly remember pack too: that’s Huffman with a static table, as opposed to an adaptive Huffman. Many links within the article.

via dervishe.


Where does CP/M file compression fit in the timeline?

Looks like Squeeze was Huffman, and Crunch was LZW. LHA is LZ77 with Huffman too. More here (not specifically CP/M).

Interesting note in History of Data Compression in Japan:

Other vendors began using similar techniques: sliding dictionary plus statistical compressions such as Huffman and Shannon-Fano. (I wondered why they used Shannon-Fano rather than Huffman which is guaranteed to compress tighter than Shannon-Fano. As it turned out, a then-popular book on compression published in U.S. contained a wrong description and buggy sample programs, such that Shannon-Fano outperformed (buggy) Huffman on many files.)

I can remember using pack in late 1980s in BSD Unix, don’t recall compact.

1 Like