sstadick / gzp

Multi-threaded Compression
The Unlicense
154 stars 14 forks source link

Some package updates #40

Closed ghuls closed 1 year ago

ghuls commented 1 year ago

libdeflater: Updated to latest libdeflate. num_cpus: support for cgroups v2

In the latest flate2, libz-ng also got its own sys packages that might need to be added:

libz-sys = { version = "1.1.8", optional = true, default-features = false }
libz-ng-sys = { version = "1.1.8", optional = true }
❯ git diff Cargo.toml
diff --git a/Cargo.toml b/Cargo.toml
index 47c759b..3bcfa44 100644
--- a/Cargo.toml
+++ b/Cargo.toml
@@ -33,20 +33,20 @@ snappy = []
 any_zlib = ["flate2/any_zlib"]

 [dependencies]
-bytes = "1.0.1"
-num_cpus = "1.13.0"
-thiserror = "1.0.26"
-flume = { version = "0.10.9" }
+bytes = "1.3"
+num_cpus = "1.15.0"
+thiserror = "1.0.38"
+flume = { version = "0.10.14" }
 byteorder = "1.4.3"
 flate2 = { version = "~1", default-features = false, optional = true }
-libdeflater = { version = "0.11.0", optional = true }
-libz-sys = { version = "1.1.3", default-features = false, optional = true }
+libdeflater = { version = "0.12.0", optional = true }
+libz-sys = { version = "1.1.8", default-features = false, optional = true }
 snap = { version = "~1", optional = true }
 core_affinity = "0.7.6"

 [dev-dependencies]
 proptest = "1.0.0"
-tempfile = "3.2.0"
+tempfile = "3.3.0"
 criterion = "0.4"

 [[bench]]
sstadick commented 1 year ago

Thanks for this!I'll look into the libz-ng-sys bit. I'm looking to add dependabot here to hopefully keep this more up to date.

sstadick commented 1 year ago

After a bit of digging, I don't think I need to depend on zlib-ng-sys directly. Since I'm still working through flate2s ng-compat feature it takes care of that for me.

I am abusing the any_zlib feature from flate2, which needs to be changed on my end at a future point.

ghuls commented 1 year ago

Since I'm still working through flate2s ng-compat feature it takes care of that for me.

The advantage of not using zlib-ng-compat but zlib-ng is that it doesn't clash with normal zlib in anyway.

sstadick commented 1 year ago

It would undoubtedly be better for me to move to not using the compat version, but internally I'm relying on the the identical interfaces. I'd have to rework things to move off of the compat version. I'll make a separate issue for that.