Skip to content

Compression level zero is very slow #156

@fintelia

Description

@fintelia

When set to not apply compression, writing compressed output should mostly just amount to memcpy'ing the input data to the output. However, actual performance seem to be on the order of 120 MB/s. Some quick profiling indicates that a substantial amount of time is spent updating hash chains and recording literals. Neither of these operations should be necessary to produce uncompressed output.

Benchmarking via flate2:

let mut encoder = flate2::write::ZlibEncoder::new(Vec::new(), flate2::Compression::new(0));
encoder.write_all(&bytes).unwrap();
encoder.flush_finish().unwrap();

Metadata

Metadata

Assignees

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions