diff options
Diffstat (limited to 'doc/plzip.info')
-rw-r--r-- | doc/plzip.info | 112 |
1 files changed, 57 insertions, 55 deletions
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 |