As far as I know, pzstd
is not an alias, and different from zstd -T8
.
Details:
pzstd
splits the input into chunks to compress in parallel, and adds headers into the output to allow parallel decompression.
Only the combination of “compress with pzstd
→ decompress with pzstd
” allows parallel decompression. The normal zstd
binary cannot decompress parallelly, nor can pzstd
parallelly decompress files made with the normal zstd
binary (for now), see:
- We have many terabytes of large files that are currently compressed using xz (we... | Hacker News
- pzstd compression ratios vs zstd · Issue #517 · facebook/zstd · GitHub
No, for my test above I compressed a Ceph log file (plain text) – it does compress well though, 10 GiB → 680 MB (14x).
You’re right; here we have numbers for a cudadoolkit
store path that compresses only factor 2x:
user(s) system(s) CPU total(s) througput
3.6 GiB cutatoolkit nix store tar'ed, with zstd 1.5.0, compresses to 1.9 GiB
compression
zstd 19.70s 1.12s 110% 18.795 193 MB/s
pzstd 57.50s 1.40s 1057% 5.570 651 MB/s
decompression
zstd 3.22s 0.25s 99% 3.468 1045 MB/s
pzstd 6.29s 0.83s 851% 0.836 4339 MB/s
So for such cases, decompression cases change by 2x.