Skip to content

Commit a3a1a02

Browse files
committed
fix(zstd): fastest level now does compression
1 parent 3b884ed commit a3a1a02

File tree

1 file changed

+6
-0
lines changed

1 file changed

+6
-0
lines changed

src/lib.rs

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -254,6 +254,12 @@ impl Level {
254254
#[cfg(feature = "zstd")]
255255
fn into_zstd(self) -> i32 {
256256
let (fastest, best) = libzstd::compression_level_range().into_inner();
257+
258+
// NOTE: zstd's "fastest" level is -131072 which can create outputs larger than inputs.
259+
// This library chooses a "fastest" level which has a more-or-less equivalent compression
260+
// ratio to gzip's fastest mode. We still allow precise levels to go negative.
261+
// See discussion in https://github.com/Nullus157/async-compression/issues/352
262+
257263
match self {
258264
Self::Fastest => fastest,
259265
Self::Best => best,

0 commit comments

Comments
 (0)