.
-.TH "ZSTD" "1" "March 2017" "zstd 1.1.5" "User Commands"
+.TH "ZSTD" "1" "April 2017" "zstd 1.1.5" "User Commands"
.
.SH "NAME"
\fBzstd\fR \- zstd, unzstd, zstdcat \- Compress or decompress \.zst files
unlocks high compression levels 20+ (maximum 22), using a lot more memory\. Note that decompression will also require more memory when using these levels\.
.
.TP
+\fB\-T#\fR
+Compress using # threads (default: 1)\. This modifier is only available if \fBzstd\fR was compiled with multithreading support\.
+.
+.TP
\fB\-D file\fR
use \fBfile\fR as Dictionary to compress or decompress FILE(s)
.
.
.TP
\fB\-k\fR, \fB\-\-keep\fR
-keep source file(s) after successful compression or decompression\. This is the default behaviour\.
+keep source file(s) after successful compression or decompression\. This is the default behavior\.
.
.TP
\fB\-r\fR
.
.TP
\fB\-C\fR, \fB\-\-[no\-]check\fR
-add integrety check computed from uncompressed data (default : enabled)
+add integrity check computed from uncompressed data (default : enabled)
.
.TP
\fB\-\-\fR
.
.SH "ADVANCED COMPRESSION OPTIONS"
.
+.SS "\-B#:"
+Select the size of each compression job\. This parameter is available only when multi\-threading is enabled\. Default value is \fB4 * windowSize\fR, which means it varies depending on compression level\. \fB\-B#\fR makes it possible to select a custom value\. Note that job size must respect a minimum value which is enforced transparently\. This minimum is either 1 MB, or \fBoverlapSize\fR, whichever is largest\.
+.
.SS "\-\-zstd[=options]:"
\fBzstd\fR provides 22 predefined compression levels\. The selected or default predefined compression level can be changed with advanced compression options\. The \fIoptions\fR are provided as a comma\-separated list\. You may specify only the options you want to change and the rest will be taken from the selected or default compression level\. The list of available \fIoptions\fR:
.
.IP
The minimum \fItlen\fR is 4 and the maximum is 999\.
.
+.TP
+\fBoverlapLog\fR=\fIovlog\fR, \fBovlog\fR=\fIovlog\fR
+Select the amount of data reloaded from previous job into next one\. Reloading more data improves compression ratio, but decreases speed\. This parameter is only available if multithreading is enabled\.
+.
+.IP
+The minimum \fIovlog\fR is 0, and the maximum is 9\. 0 means "no overlap", hence completely independent jobs\. 9 means "full overlap", meaning up to \fBwindowSize\fR is reloaded from previous job\. Reducing \fIovlog\fR by 1 reduces the amount of reload by a factor 2\. Default \fIovlog\fR is 6, which means "reload \fBwindowSize / 8\fR"\. Exception : the maximum compression level (22) has a default \fIovlog\fR of 9\.
+.
.SS "Example"
The following parameters sets advanced compression options to those of predefined level 19 for files bigger than 256 KB:
.
* `--ultra`:
unlocks high compression levels 20+ (maximum 22), using a lot more memory.
Note that decompression will also require more memory when using these levels.
+* `-T#`:
+ Compress using # threads (default: 1).
+ This modifier is only available if `zstd` was compiled with multithreading support.
* `-D file`:
use `file` as Dictionary to compress or decompress FILE(s)
* `--nodictID`:
remove source file(s) after successful compression or decompression
* `-k`, `--keep`:
keep source file(s) after successful compression or decompression.
- This is the default behaviour.
+ This is the default behavior.
* `-r`:
operate recursively on dictionaries
* `-h`/`-H`, `--help`:
suppress warnings, interactivity, and notifications.
specify twice to suppress errors too.
* `-C`, `--[no-]check`:
- add integrety check computed from uncompressed data (default : enabled)
+ add integrity check computed from uncompressed data (default : enabled)
* `--`:
All arguments after `--` are treated as files
+
DICTIONARY BUILDER
------------------
`zstd` offers _dictionary_ compression,
* `--priority=rt`:
set process priority to real-time
+
ADVANCED COMPRESSION OPTIONS
----------------------------
+### -B#:
+Select the size of each compression job.
+This parameter is available only when multi-threading is enabled.
+Default value is `4 * windowSize`, which means it varies depending on compression level.
+`-B#` makes it possible to select a custom value.
+Note that job size must respect a minimum value which is enforced transparently.
+This minimum is either 1 MB, or `overlapSize`, whichever is largest.
+
### --zstd[=options]:
`zstd` provides 22 predefined compression levels.
The selected or default predefined compression level can be changed with
The minimum _tlen_ is 4 and the maximum is 999.
+- `overlapLog`=_ovlog_, `ovlog`=_ovlog_:
+ Select the amount of data reloaded from previous job into next one.
+ Reloading more data improves compression ratio, but decreases speed.
+ This parameter is only available if multithreading is enabled.
+
+ The minimum _ovlog_ is 0, and the maximum is 9.
+ 0 means "no overlap", hence completely independent jobs.
+ 9 means "full overlap", meaning up to `windowSize` is reloaded from previous job.
+ Reducing _ovlog_ by 1 reduces the amount of reload by a factor 2.
+ Default _ovlog_ is 6, which means "reload `windowSize / 8`".
+ Exception : the maximum compression level (22) has a default _ovlog_ of 9.
+
+
### Example
The following parameters sets advanced compression options to those of
predefined level 19 for files bigger than 256 KB:
DISPLAY( "\n");
DISPLAY( "Advanced arguments :\n");
DISPLAY( " -V : display Version number and exit\n");
- DISPLAY( " -v : verbose mode; specify multiple times to increase log level (default:%d)\n", DEFAULT_DISPLAY_LEVEL);
+ DISPLAY( " -v : verbose mode; specify multiple times to increase verbosity\n");
DISPLAY( " -q : suppress warnings; specify twice to suppress errors too\n");
DISPLAY( " -c : force write to standard output, even if it is the console\n");
-#ifdef UTIL_HAS_CREATEFILELIST
- DISPLAY( " -r : operate recursively on directories \n");
-#endif
#ifndef ZSTD_NOCOMPRESS
DISPLAY( "--ultra : enable levels beyond %i, up to %i (requires more memory)\n", ZSTDCLI_CLEVEL_MAX, ZSTD_maxCLevel());
- DISPLAY( "--no-dictID : don't write dictID into header (dictionary compression)\n");
- DISPLAY( "--[no-]check : integrity check (default:enabled) \n");
#ifdef ZSTD_MULTITHREAD
DISPLAY( " -T# : use # threads for compression (default:1) \n");
- DISPLAY( " -B# : select size of independent sections (default:0==automatic) \n");
+ DISPLAY( " -B# : select size of each job (default:0==automatic) \n");
+#endif
+ DISPLAY( "--no-dictID : don't write dictID into header (dictionary compression)\n");
+ DISPLAY( "--[no-]check : integrity check (default:enabled) \n");
+#endif
+#ifdef UTIL_HAS_CREATEFILELIST
+ DISPLAY( " -r : operate recursively on directories \n");
#endif
#ifdef ZSTD_GZCOMPRESS
DISPLAY( "--format=gzip : compress files to the .gz format \n");
DISPLAY( "--format=xz : compress files to the .xz format \n");
DISPLAY( "--format=lzma : compress files to the .lzma format \n");
#endif
-#endif
#ifndef ZSTD_NODECOMPRESS
DISPLAY( "--test : test compressed file integrity \n");
#if ZSTD_SPARSE_DEFAULT