multi-threaded snap compression using gzp

This commit is contained in:
figsoda 2023-01-30 19:13:00 -05:00
parent 5abdd5fc96
commit 2d5dc06a4f
3 changed files with 3 additions and 2 deletions

1
Cargo.lock generated
View File

@ -412,6 +412,7 @@ dependencies = [
"flume",
"libz-sys",
"num_cpus",
"snap",
"thiserror",
]

View File

@ -18,7 +18,7 @@ clap = { version = "4.1.4", features = ["derive", "env"] }
filetime = "0.2.19"
flate2 = { version = "1.0.25", default-features = false }
fs-err = "2.9.0"
gzp = { version = "0.11.3", default-features = false }
gzp = { version = "0.11.3", default-features = false, features = ["snappy_default"] }
ignore = "0.4.20"
libc = "0.2.139"
linked-hash-map = "0.5.6"

View File

@ -50,7 +50,7 @@ pub fn compress_files(
Bzip => Box::new(bzip2::write::BzEncoder::new(encoder, Default::default())),
Lz4 => Box::new(lzzzz::lz4f::WriteCompressor::new(encoder, Default::default())?),
Lzma => Box::new(xz2::write::XzEncoder::new(encoder, 6)),
Snappy => Box::new(snap::write::FrameEncoder::new(encoder)),
Snappy => Box::new(gzp::par::compress::ParCompress::<gzp::snap::Snap>::builder().from_writer(encoder)),
Zstd => {
let zstd_encoder = zstd::stream::write::Encoder::new(encoder, Default::default());
// Safety: