Enable parallel compression with zstandard. Fixes #2324

This commit is contained in:
grossmj committed 2026-02-16 18:28:11 +08:00
1 parent 74bc3b5144
commit 28e7c014c8
3 files changed
+5 -7

No files matched your search

+3 -4
View File
@@ -71,10 +71,9 @@ def _get_compressor(compress_type, compresslevel=None):
elif compress_type == ZIP_ZSTANDARD:
import zstandard as zstd
if compresslevel is not None:
#params = zstd.ZstdCompressionParameters.from_level(compresslevel, threads=-1, enable_ldm=True, window_log=31)
#return zstd.ZstdCompressor(compression_params=params).compressobj()
return zstd.ZstdCompressor(level=compresslevel).compressobj()
return zstd.ZstdCompressor().compressobj()
# for threads param a value of -1 means to set the number of threads to the number of detected logical CPUs
return zstd.ZstdCompressor(level=compresslevel, threads=-1).compressobj()
return zstd.ZstdCompressor(threads=-1).compressobj()
else:
return None
+2 -2
View File
@@ -42,7 +42,7 @@ if 'compresslevel' in inspect.signature(zipfile._get_compressor).parameters:
if compress_type == zipfile.ZIP_ZSTANDARD:
if compresslevel is None:
compresslevel = 3
return zstd.ZstdCompressor(level=compresslevel, threads=12).compressobj()
return zstd.ZstdCompressor(level=compresslevel, threads=-1).compressobj()
else:
return patch.originals['_get_compressor'](compress_type, compresslevel=compresslevel)
else:
@@ -51,7 +51,7 @@ else:
if compress_type == zipfile.ZIP_ZSTANDARD:
if compresslevel is None:
compresslevel = 3
return zstd.ZstdCompressor(level=compresslevel, threads=12).compressobj()
return zstd.ZstdCompressor(level=compresslevel, threads=-1).compressobj()
else:
return patch.originals['_get_compressor'](compress_type)