Change way stream blocks are computed to maximize compression.

* Add Dictionary Size computation and setting capability.
* Remove 7/9 scaling for lzma levels. Default still 5.
* LZMA levels now 1-9.
* Improve info displays.
* Assembler will now select either nasm or yasm.
* ETA will be displayed after each chunk is processed.
* Decompression status updated every 5 seconds or so.
* Documentation updates.
* Code cleanups (whitespace removal, comment alignment).
This commit is contained in:
Peter Hyman 2019-12-17 07:22:36 -06:00
parent 4f1adeaec4
commit 2979c8ec26
19 changed files with 264 additions and 121 deletions

View file

@ -1,4 +1,4 @@
.TH "lrzip" "1" "June 2016" "" ""
.TH "lrzip" "1" "December 2019" "" ""
.SH "NAME"
lrzip \- a large-file compression program
.SH "SYNOPSIS"
@ -55,13 +55,15 @@ Options affecting output:
\-O, \-\-outdir directory specify the output directory when -o is not used
\-S, \-\-suffix suffix specify compressed suffix (default '.lrz')
Options affecting compression:
\-\-lzma lzma compression (default)
\-b, \-\-bzip2 bzip2 compression
\-g, \-\-gzip gzip compression using zlib
\-l, \-\-lzo lzo compression (ultra fast)
\-n, \-\-no-compress no backend compression - prepare for other compressor
\-z, \-\-zpaq zpaq compression (best, extreme compression, extremely slow)
Low level options:
\-L, \-\-level level set lzma/bzip2/gzip compression level (1-9, default 7)
\-L, \-\-level level Set lzma/bzip2/gzip compression level (1-9, default 7)
\-\-dictsize = ds Set Dictionary Size for LZMA ds=12 to 30 expressed as 2^ds
\-N, \-\-nice-level value Set nice value to value (default 19)
\-p, \-\-threads value Set processor count to override number of threads
\-m, \-\-maxram size Set maximum available ram in hundreds of MB
@ -227,6 +229,11 @@ Set the compression level from 1 to 9. The default is to use level 7, which
gives good all round compression. The compression level is also strongly related
to how much memory lrzip uses. See the \-w option for details.
.IP
.IP "\fB--dictsize=12\&.\&.30\fP"
Set Dictionary Size for LZMA from 2^12 (16KB) to 2^30 (1GB). Normally this
option is not useful since lrzip will set and sometimes change the dictionary
size depending on the compression level selected and usable ram available.
.IP
.IP "\fB-N value\fP"
The default nice value is 19. This option can be used to set the priority
scheduling for the lrzip backup or decompression. Valid nice values are

View file

@ -21,55 +21,62 @@ Parameter values are not case sensitive except where specified\&.
.PP
.SH "CONFIG FILE EXAMPLE"
.nf
# This is a comment.
# lrzip.conf example file
# Compression Window size in 100MB. Normally selected by program. (-w)
# WINDOW = 20
# \fBWINDOW = 20\fP
# Compression Level 1-9 (7 Default). (-L)
# COMPRESSIONLEVEL = 7
# \fBCOMPRESSIONLEVEL = 7\fP
# Use -U setting, Unlimited ram. Yes or No
# UNLIMITED = NO
# \fBUNLIMITED = NO\fP
# Compression Method, rzip, gzip, bzip2, lzo, or lzma (default), or zpaq. (-n -g -b -l --lzma -z)
# If specified here, command line options not usable.
# COMPRESSIONMETHOD = lzma
# May be overriden by command line compression choice.
# \fBCOMPRESSIONMETHOD = lzma\fP
# LZMA Dictionary Size. 0 = default value used. 12-30 = 2^ds will be used.
# \fBDICTIONARYSIZE = 0\fP
# Perform LZO Test. Default = YES (-T )
# LZOTEST = NO
# \fBLZOTEST = NO\fP
# Hash Check on decompression, (-c)
# HASHCHECK = YES
# \fBHASHCHECK = YES\fP
# Show HASH value on Compression even if Verbose is off, YES (-H)
# SHOWHASH = YES
# \fBSHOWHASH = YES\fP
# Default output directory (-O)
# OUTPUTDIRECTORY = location
# \fBOUTPUTDIRECTORY = location\fP
# Verbosity, YES or MAX (v, vv)
# VERBOSITY = max
# \fBVERBOSITY = max\fP
# Show Progress as file is parsed, YES or no (NO = -q option)
# SHOWPROGRESS = YES
# \fBSHOWPROGRESS = YES\fP
# Set Niceness. 19 is default. -20 to 19 is the allowable range (-N)
# NICE = 19
# \fBNICE = 19\fP
# Keep broken or damaged output files, YES (-K)
# KEEPBROKEN = YES
# \fBKEEPBROKEN = YES\fP
# Delete source file after compression (-D)
# this parameter and value are case sensitive
# value must be YES to activate
# DELETEFILES = NO
# \fBDELETEFILES = NO\fP
# Replace existing lrzip file when compressing (-f)
# this parameter and value are case sensitive
# value must be YES to activate
# REPLACEFILE = YES
# \fBREPLACEFILE = YES\fP
# Override for Temporary Directory. Only valid when stdin/out or Test is used
# TMPDIR = /tmp
# \fBTMPDIR = /tmp\fP
# Whether to use encryption on compression YES, NO (-e)
# ENCRYPT = NO
# \fBENCRYPT = NO\fP
.fi
.PP
.SH "NOTES"