Single Stream Deflate
v0.5.0 is a large rework of gzp
on several fronts. Overall, gzp
now behaves more like pigz
.
- Single stream deflate encoding is used instead of Gzip blocks catted together. This means that both
Zlib
andRawDeflate
formats are now supported. - The last 32K of the previously encoded block (in sequential order) is used as the dictionary for the current block to compress. This improves overall compression and matches
pigz
- There is now a single "engine" that drives parallel compression for all formats, including
Snap
. To add a new format you simply need to implement theFormatSpec
trait.
Performance stayed about the same through all of this. On toy benchmark programs (examples/test2.rs
) gzp
appears to be about 30% faster than pigz
using equivalent compression levels, buffer sizes, and number of threads. This is very anecdotal and should be taken with many grains of salt.