Skip to content

Releases: sstadick/gzp

Improved IO Error propogation

28 Aug 16:12
Compare
Choose a tag to compare

Single Thread Support

28 Aug 01:20
Compare
Choose a tag to compare

See changelog

Improved backend performance

28 Aug 01:20
Compare
Choose a tag to compare

Single Stream Deflate

22 Aug 22:55
Compare
Choose a tag to compare

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 and RawDeflate 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 the FormatSpec 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.

Migration to Rayon

15 Aug 00:15
Compare
Choose a tag to compare

This release moves gzp off of tokio and onto rayon as the backed threadpool. There was an error in the thread accounting the previous version that allowed tokio to spawn as many blocking threads as it liked making it look awesome in bechmarks. With that corrected there was no reason not to use rayon instead to slim down dependencies.