facebook / facebook/zstd

Recursive compression is better than --ultra -22

Open
#3,003 4 comments 2 reactions 0 assignees View on GitHub
Dominant language
C
Stars
27.9k
Forks
2.6k
Avg merge
1d 3h
Merged PRs (30d)
8

Description

**Describe the bug**
I had expected no options would beat `--ultra -22`, however, I have found a file where it is outperformed by `pzstd -1 | pzstd -19`.

**To Reproduce**
Download: https://cloud.prosa.dk/s/tBSZwHXJKCKs78n/download/100g-1-19.zst.zst

Decompress the file. Decompress the decompressed file. This should give you a 100 GB file.

(When decompressing I cannot make pzstd use all 64 cores. Why?).

Run:
~~~
pzstd --ultra -22 < 100g-1-19 > 100g-22.zst
# Why does this not use all 64 cores?
pzstd -1 < 100g-1-19 | pzstd -19 > 100g-1-19.zst.zst
ls -l
# Sizes are different. 100g-1-19.zst.zst is smaller.
~~~

**Expected behavior**
I had expected no options would beat `--ultra -22`. So I had expected 100g-22.zst to be smaller.

**Screenshots and charts**
N/A

**Desktop (please complete the following information):**
- OS: Ubuntu 20.04
- Version: 1.4.4
- Compiler: installed as binary package
- Flags: -
- Other relevant hardware specs: 64 cores
- Build system: -

**Additional context**
N/A

Contributor guide

Open the contributing guide

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.