From cf7b4bca3811d402cc01978658485297451a9784 Mon Sep 17 00:00:00 2001 From: Daniel Baumann Date: Sat, 7 Nov 2015 16:54:44 +0100 Subject: Merging upstream version 1.4. Signed-off-by: Daniel Baumann --- doc/plzip.1 | 6 ++-- doc/plzip.info | 112 +++++++++++++++++++++++++++++---------------------------- doc/plzip.texi | 93 ++++++++++++++++++++++++----------------------- 3 files changed, 109 insertions(+), 102 deletions(-) (limited to 'doc') diff --git a/doc/plzip.1 b/doc/plzip.1 index 6ed21c1..01f4e36 100644 --- a/doc/plzip.1 +++ b/doc/plzip.1 @@ -1,5 +1,5 @@ .\" DO NOT MODIFY THIS FILE! It was generated by help2man 1.46.1. -.TH PLZIP "1" "May 2015" "plzip 1.4-rc1" "User Commands" +.TH PLZIP "1" "July 2015" "plzip 1.4" "User Commands" .SH NAME plzip \- reduces the size of files .SH SYNOPSIS @@ -28,7 +28,7 @@ decompress overwrite existing output files .TP \fB\-F\fR, \fB\-\-recompress\fR -force recompression of compressed files +force re\-compression of compressed files .TP \fB\-k\fR, \fB\-\-keep\fR keep (don't delete) input files @@ -84,7 +84,7 @@ Plzip home page: http://www.nongnu.org/lzip/plzip.html Copyright \(co 2009 Laszlo Ersek. .br Copyright \(co 2015 Antonio Diaz Diaz. -Using Lzlib 1.7\-rc1 +Using lzlib 1.7 License GPLv2+: GNU GPL version 2 or later .br This is free software: you are free to change and redistribute it. diff --git a/doc/plzip.info b/doc/plzip.info index d07ba9e..474db91 100644 --- a/doc/plzip.info +++ b/doc/plzip.info @@ -11,13 +11,13 @@ File: plzip.info, Node: Top, Next: Introduction, Up: (dir) Plzip Manual ************ -This manual is for Plzip (version 1.4-rc1, 23 May 2015). +This manual is for Plzip (version 1.4, 9 July 2015). * Menu: * Introduction:: Purpose and features of plzip -* Program design:: Internal structure of plzip * Invoking plzip:: Command line interface +* Program design:: Internal structure of plzip * File format:: Detailed format of the compressed file * Memory requirements:: Memory required to compress and decompress * Minimum file sizes:: Minimum file sizes required for full speed @@ -31,7 +31,7 @@ This manual is for Plzip (version 1.4-rc1, 23 May 2015). copy, distribute and modify it.  -File: plzip.info, Node: Introduction, Next: Program design, Prev: Top, Up: Top +File: plzip.info, Node: Introduction, Next: Invoking plzip, Prev: Top, Up: Top 1 Introduction ************** @@ -59,7 +59,8 @@ availability: recovery means. The lziprecover program can repair bit-flip errors (one of the most common forms of data corruption) in lzip files, and provides data recovery capabilities, including error-checked - merging of damaged copies of a file. + merging of damaged copies of a file. *note Data safety: + (lziprecover)Data safety. * The lzip format is as simple as possible (but not simpler). The lzip manual provides the code of a simple decompressor along with @@ -122,43 +123,9 @@ until you verify the compressed file with a command like 'plzip -cd file.lz | cmp file -'.  -File: plzip.info, Node: Program design, Next: Invoking plzip, Prev: Introduction, Up: Top - -2 Program design -**************** - -When compressing, plzip divides the input file into chunks and -compresses as many chunks simultaneously as worker threads are chosen, -creating a multi-member compressed file. - - When decompressing, plzip decompresses as many members -simultaneously as worker threads are chosen. Files that were compressed -with lzip will not be decompressed faster than using lzip (unless the -'-b' option was used) because lzip usually produces single-member -files, which can't be decompressed in parallel. - - For each input file, a splitter thread and several worker threads are -created, acting the main thread as muxer (multiplexer) thread. A "packet -courier" takes care of data transfers among threads and limits the -maximum number of data blocks (packets) being processed simultaneously. - - The splitter reads data blocks from the input file, and distributes -them to the workers. The workers (de)compress the blocks received from -the splitter. The muxer collects processed packets from the workers, and -writes them to the output file. - - When decompressing from a regular file, the splitter is removed and -the workers read directly from the input file. If the output file is -also a regular file, the muxer is also removed and the workers write -directly to the output file. With these optimizations, the use of RAM -is greatly reduced and the decompression speed of large files with many -members is only limited by the number of processors available and by -I/O speed. - - -File: plzip.info, Node: Invoking plzip, Next: File format, Prev: Program design, Up: Top +File: plzip.info, Node: Invoking plzip, Next: Program design, Prev: Introduction, Up: Top -3 Invoking plzip +2 Invoking plzip **************** The format for running plzip is: @@ -199,7 +166,7 @@ The format for running plzip is: '-F' '--recompress' - Force recompression of files whose name already has the '.lz' or + Force re-compression of files whose name already has the '.lz' or '.tlz' suffix. '-k' @@ -318,7 +285,41 @@ invalid input file, 3 for an internal consistency error (eg, bug) which caused plzip to panic.  -File: plzip.info, Node: File format, Next: Memory requirements, Prev: Invoking plzip, Up: Top +File: plzip.info, Node: Program design, Next: File format, Prev: Invoking plzip, Up: Top + +3 Program design +**************** + +When compressing, plzip divides the input file into chunks and +compresses as many chunks simultaneously as worker threads are chosen, +creating a multi-member compressed file. + + When decompressing, plzip decompresses as many members +simultaneously as worker threads are chosen. Files that were compressed +with lzip will not be decompressed faster than using lzip (unless the +'-b' option was used) because lzip usually produces single-member +files, which can't be decompressed in parallel. + + For each input file, a splitter thread and several worker threads are +created, acting the main thread as muxer (multiplexer) thread. A "packet +courier" takes care of data transfers among threads and limits the +maximum number of data blocks (packets) being processed simultaneously. + + The splitter reads data blocks from the input file, and distributes +them to the workers. The workers (de)compress the blocks received from +the splitter. The muxer collects processed packets from the workers, and +writes them to the output file. + + When decompressing from a regular file, the splitter is removed and +the workers read directly from the input file. If the output file is +also a regular file, the muxer is also removed and the workers write +directly to the output file. With these optimizations, the use of RAM +is greatly reduced and the decompression speed of large files with many +members is only limited by the number of processors available and by +I/O speed. + + +File: plzip.info, Node: File format, Next: Memory requirements, Prev: Program design, Up: Top 4 File format ************* @@ -398,15 +399,16 @@ The amount of memory required *per thread* is approximately the following: * For compression at level -0; 1.5 MiB plus 3 times the data size - (*note --data-size::). About 4.5 MiB. + (*note --data-size::). Default is 4.5 MiB. * For compression at other levels; 11 times the dictionary size plus 3 times the data size. Default is 136 MiB. * For decompression of a regular (seekable) file to another regular - file, or for testing of a regular file; the dictionary size. Note - that regular files with more than 1024 bytes of trailing garbage - are treated as non-seekable. + file, or for testing of a regular file; the dictionary size. + + (Note that regular files with more than 1024 bytes of trailing + garbage are treated as non-seekable). * For testing of a non-seekable file or of standard input; the dictionary size plus up to 5 MiB. @@ -493,15 +495,15 @@ Concept index  Tag Table: Node: Top221 -Node: Introduction988 -Node: Program design5285 -Node: Invoking plzip6874 -Ref: --data-size7288 -Node: File format12512 -Node: Memory requirements14925 -Node: Minimum file sizes16029 -Node: Problems17951 -Node: Concept index18487 +Node: Introduction984 +Node: Invoking plzip5332 +Ref: --data-size5747 +Node: Program design10972 +Node: File format12560 +Node: Memory requirements14973 +Node: Minimum file sizes16085 +Node: Problems18007 +Node: Concept index18543  End Tag Table diff --git a/doc/plzip.texi b/doc/plzip.texi index b501b9a..e13515a 100644 --- a/doc/plzip.texi +++ b/doc/plzip.texi @@ -6,8 +6,8 @@ @finalout @c %**end of header -@set UPDATED 23 May 2015 -@set VERSION 1.4-rc1 +@set UPDATED 9 July 2015 +@set VERSION 1.4 @dircategory Data Compression @direntry @@ -36,8 +36,8 @@ This manual is for Plzip (version @value{VERSION}, @value{UPDATED}). @menu * Introduction:: Purpose and features of plzip -* Program design:: Internal structure of plzip * Invoking plzip:: Command line interface +* Program design:: Internal structure of plzip * File format:: Detailed format of the compressed file * Memory requirements:: Memory required to compress and decompress * Minimum file sizes:: Minimum file sizes required for full speed @@ -77,10 +77,14 @@ availability: @itemize @bullet @item The lzip format provides very safe integrity checking and some data -recovery means. The lziprecover program can repair bit-flip errors (one -of the most common forms of data corruption) in lzip files, and provides -data recovery capabilities, including error-checked merging of damaged -copies of a file. +recovery means. The +@uref{http://www.nongnu.org/lzip/manual/lziprecover_manual.html#Data-safety,,lziprecover} +program can repair bit-flip errors (one of the most common forms of data +corruption) in lzip files, and provides data recovery capabilities, +including error-checked merging of damaged copies of a file. +@ifnothtml +@ref{Data safety,,,lziprecover}. +@end ifnothtml @item The lzip format is as simple as possible (but not simpler). The lzip @@ -148,38 +152,6 @@ you verify the compressed file with a command like @w{@samp{plzip -cd file.lz | cmp file -}}. -@node Program design -@chapter Program design -@cindex program design - -When compressing, plzip divides the input file into chunks and -compresses as many chunks simultaneously as worker threads are chosen, -creating a multi-member compressed file. - -When decompressing, plzip decompresses as many members simultaneously as -worker threads are chosen. Files that were compressed with lzip will not -be decompressed faster than using lzip (unless the @samp{-b} option was -used) because lzip usually produces single-member files, which can't be -decompressed in parallel. - -For each input file, a splitter thread and several worker threads are -created, acting the main thread as muxer (multiplexer) thread. A "packet -courier" takes care of data transfers among threads and limits the -maximum number of data blocks (packets) being processed simultaneously. - -The splitter reads data blocks from the input file, and distributes them -to the workers. The workers (de)compress the blocks received from the -splitter. The muxer collects processed packets from the workers, and -writes them to the output file. - -When decompressing from a regular file, the splitter is removed and the -workers read directly from the input file. If the output file is also a -regular file, the muxer is also removed and the workers write directly -to the output file. With these optimizations, the use of RAM is greatly -reduced and the decompression speed of large files with many members is -only limited by the number of processors available and by I/O speed. - - @node Invoking plzip @chapter Invoking plzip @cindex invoking @@ -229,7 +201,7 @@ Force overwrite of output files. @item -F @itemx --recompress -Force recompression of files whose name already has the @samp{.lz} or +Force re-compression of files whose name already has the @samp{.lz} or @samp{.tlz} suffix. @item -k @@ -346,6 +318,38 @@ invalid input file, 3 for an internal consistency error (eg, bug) which caused plzip to panic. +@node Program design +@chapter Program design +@cindex program design + +When compressing, plzip divides the input file into chunks and +compresses as many chunks simultaneously as worker threads are chosen, +creating a multi-member compressed file. + +When decompressing, plzip decompresses as many members simultaneously as +worker threads are chosen. Files that were compressed with lzip will not +be decompressed faster than using lzip (unless the @samp{-b} option was +used) because lzip usually produces single-member files, which can't be +decompressed in parallel. + +For each input file, a splitter thread and several worker threads are +created, acting the main thread as muxer (multiplexer) thread. A "packet +courier" takes care of data transfers among threads and limits the +maximum number of data blocks (packets) being processed simultaneously. + +The splitter reads data blocks from the input file, and distributes them +to the workers. The workers (de)compress the blocks received from the +splitter. The muxer collects processed packets from the workers, and +writes them to the output file. + +When decompressing from a regular file, the splitter is removed and the +workers read directly from the input file. If the output file is also a +regular file, the muxer is also removed and the workers write directly +to the output file. With these optimizations, the use of RAM is greatly +reduced and the decompression speed of large files with many members is +only limited by the number of processors available and by I/O speed. + + @node File format @chapter File format @cindex file format @@ -439,7 +443,7 @@ following: @itemize @bullet @item For compression at level -0; 1.5 MiB plus 3 times the data size -(@pxref{--data-size}). About 4.5 MiB. +(@pxref{--data-size}). Default is 4.5 MiB. @item For compression at other levels; 11 times the dictionary size plus 3 @@ -447,9 +451,10 @@ times the data size. Default is 136 MiB. @item For decompression of a regular (seekable) file to another regular file, -or for testing of a regular file; the dictionary size. Note that regular -files with more than 1024 bytes of trailing garbage are treated as -non-seekable. +or for testing of a regular file; the dictionary size. + +(Note that regular files with more than 1024 bytes of trailing garbage +are treated as non-seekable). @item For testing of a non-seekable file or of standard input; the dictionary -- cgit v1.2.3