Skip to main content

Crate zenzop

Crate zenzop 

Source
Expand description

A faster fork of the Zopfli compression library.

Zopfli is a state of the art DEFLATE compressor that heavily prioritizes compression over speed. zenzop produces identical output to zopfli but runs 2-3x faster through algorithmic improvements: eliminating redundant hash chain walks, precomputed cost tables, and a buffered bit writer.

With Options::enhanced enabled, zenzop applies ECT-derived optimizations — expanded precode search, multi-strategy Huffman tree selection, and enhanced parser diversification — to produce smaller output than standard Zopfli.

§Features

This crate exposes the following features. You can enable or disable them in your Cargo.toml as needed.

  • gzip (enabled by default): enables support for compression in the gzip format.
  • zlib (enabled by default): enables support for compression in the Zlib format.
  • std (enabled by default): enables linking against the Rust standard library. When not enabled, the crate is built with the #![no_std] attribute and can be used in any environment where alloc (i.e., a memory allocator) is available. In addition, the crate exposes minimalist versions of the std I/O traits it needs to function, allowing users to implement them.
  • nightly: enables code constructs and features specific to the nightly Rust toolchain. Currently, this feature improves rustdoc generation.

Structs§

CompressResult
The result of a compression operation.
DeflateEncoder
A DEFLATE encoder powered by the Zopfli algorithm that compresses data written to it to the specified sink. Most users will find using compress easier and more performant.
ErrorNon-std
The error type for I/O operations of the Write trait.
GzipEncodergzip
A Gzip encoder powered by the Zopfli algorithm, that compresses data using a DeflateEncoder. Most users will find using compress easier and more performant.
Options
Options for the Zopfli compression algorithm.
Unstoppable
A Stop implementation that never stops (no cooperative cancellation).
ZlibEncoderzlib
A Zlib encoder powered by the Zopfli algorithm, that compresses data using a DeflateEncoder. Most users will find using compress easier and more performant.

Enums§

BlockType
The type of data blocks to generate for a DEFLATE stream.
ErrorKindNon-std
A list specifying general categories of I/O error.
Formatstd
The output file format to use to store data compressed with Zopfli.
StopReason
Why an operation was stopped.

Traits§

Stop
Cooperative cancellation check.
WriteNon-std
A trait for objects which are byte-oriented sinks, modeled after its std::io::Write counterpart.

Functions§

compressstd
Compresses data from a source with the Zopfli algorithm, using the specified options, and writes the result to a sink in the defined output format.