Some xz man page improvements.

This commit is contained in:
Lasse Collin 2009-08-27 15:17:00 +03:00
parent 371b04e19f
commit 2341437719
1 changed files with 62 additions and 16 deletions

View File

@ -704,13 +704,34 @@ for decompressing that was used when compressing, thus the memory usage of
the decoder is determined by the dictionary size used when compressing. the decoder is determined by the dictionary size used when compressing.
.TP .TP
.BI lc= lc .BI lc= lc
Specify the number of literal context bits. Specify the number of literal context bits. The minimum is
.B 0
and the maximum is
.BR 4 ;
the default is
.BR 3 .
In addition, the sum of
.I lc
and
.I lp
must not exceed
.BR 4 .
.TP .TP
.BI lp= lp .BI lp= lp
Specify the number of literal position bits. Specify the number of literal position bits. The minimum is
.B 0
and the maximum is
.BR 4 ;
the default is
.BR 0 .
.TP .TP
.BI pb= pb .BI pb= pb
Specify the number of position bits. Specify the number of position bits. The minimum is
.B 0
and the maximum is
.BR 4 ;
the default is
.BR 2 .
.TP .TP
.BI mode= mode .BI mode= mode
Compression Compression
@ -736,12 +757,14 @@ for
.BI mf= mf .BI mf= mf
Match finder has a major effect on encoder speed, memory usage, and Match finder has a major effect on encoder speed, memory usage, and
compression ratio. Usually Hash Chain match finders are faster than compression ratio. Usually Hash Chain match finders are faster than
Binary Tree match finders. The memory usage formulas are only rough Binary Tree match finders. Hash Chains are usually used together with
estimates, which are closest to reality when .B mode=fast
and Binary Trees with
.BR mode=normal .
The memory usage formulas are only rough estimates,
which are closest to reality when
.I dict .I dict
is a power of two. is a power of two.
.IP
FIXME Defaults
.RS .RS
.TP .TP
.B hc3 .B hc3
@ -1035,9 +1058,30 @@ incompatibilities though, which may sometimes cause problems.
.SS "Compression preset levels" .SS "Compression preset levels"
The numbering of the compression level presets is not identical in The numbering of the compression level presets is not identical in
.B xz .B xz
and LZMA Utils. Compressor memory usage: and LZMA Utils.
The most important difference is how dictionary sizes are mapped to different
presets. Dictionary size is roughly equal to the decompressor memory usage.
.RS
.TS
tab(;);
c c c
c n n.
Level;xz;LZMA Utils
\-1;64 KiB;64 KiB
\-2;512 KiB;1 MiB
\-3;1 MiB;512 KiB
\-4;2 MiB;1 MiB
\-5;4 MiB;2 MiB
\-6;8 MiB;4 MiB
\-7;16 MiB;8 MiB
\-8;32 MiB;16 MiB
\-9;64 MiB;32 MiB
.TE
.RE
.PP .PP
.B FIXME The dictionary size differences affect the compressor memory usage too,
but there are some other differences between LZMA Utils and XZ Utils, which
make the difference even bigger:
.RS .RS
.TS .TS
tab(;); tab(;);
@ -1055,6 +1099,12 @@ Level;xz;LZMA Utils 4.32.x
\-9;674 MiB;311 MiB \-9;674 MiB;311 MiB
.TE .TE
.RE .RE
.PP
The default preset level in LZMA Utils is
.B \-7
while in XZ Utils it is
.BR \-6 ,
so both use 8 MiB dictionary by default.
.SS "Streamed vs. non-streamed .lzma files" .SS "Streamed vs. non-streamed .lzma files"
Uncompressed size of the file can be stored in the Uncompressed size of the file can be stored in the
.B .lzma .B .lzma
@ -1147,17 +1197,13 @@ stream,
considers the file to be corrupt. This may break obscure scripts which have considers the file to be corrupt. This may break obscure scripts which have
assumed that trailing garbage is ignored. assumed that trailing garbage is ignored.
.SH NOTES .SH NOTES
.SS Builds with disabled features .SS Compressed output may vary
.B xz
can be built with some features disabled, which can make some features
unavailable. This is never the case with normal non-embedded builds.
.SS FIXME
The exact compressed output produced from the same uncompressed input file The exact compressed output produced from the same uncompressed input file
may vary between XZ Utils versions even if compression options are identical. may vary between XZ Utils versions even if compression options are identical.
This is because the encoder can be improved (faster or better compression) This is because the encoder can be improved (faster or better compression)
without affecting the file format. The output can vary even between different without affecting the file format. The output can vary even between different
builds of XZ Utils, if different build options are used or if the endianness builds of the same XZ Utils version, if different build options are used or
of the hardware is different for different builds. if the endianness of the hardware is different for different builds.
.PP .PP
The above means that implementing The above means that implementing
.B \-\-rsyncable .B \-\-rsyncable