Make compression of zstd archive type more similar to zstdcli #354
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
This PR sets several parameters to zstd compression that forces it to work more similar to standard zstd client + few small fixes:
set source size as hint if it is known e. g. by file compression (slightly better performance and/or compression ratio);
although the feature still calling as "experimental", but zstd uses this in its own client since v.1.4 IIRC and the only known drawback would be significant regress of compression ratio if guess considerably underestimates, but it does no matter in case of known file size.
make compression of zstd archive type more similar to Zstandard CLI (store dictID and checksum by default in zstd type); this has no effect for 7z archive type with zstd method
brotli: small amend that avoid setting of size hint if
-si
specified (size is unknown)After all 7z would create almost the same compressed data as standard zstd-cli (can deviate by 1-2 bytes in header).