Annotation of coherent/g/usr/bin/gzip/TODO, revision 1.1.1.1

1.1       root        1: TODO file for gzip.
                      2: 
                      3: Some of the planned features include:
                      4: 
                      5: - Structure the sources so that the compression and decompression code
                      6:   form a library usable by any program, and write both gzip and zip on
                      7:   top of this library. This will be a thread safe library. In the meantime,
                      8:   you can look at the sample program zread.c.
                      9: 
                     10: - Make it convenient to define alternative user interfaces (in
                     11:   particular for windowing environments).
                     12: 
                     13: - Support in-memory compression for arbitrarily large amounts of data
                     14:   (zip currently supports in-memory compression only for a single buffer.)
                     15: 
                     16: - Map files in memory when possible, this is generally much faster
                     17:   than read/write. (zip currently maps entire files at once, this
                     18:   should be done in chunks to reduce memory usage.)
                     19: 
                     20: - Add a super-fast compression method, suitable for implementing
                     21:   file systems with transparent compression. One problem is that the
                     22:   best candidate (lzrw1) is patented twice (Waterworth 4,701,745
                     23:   and Gibson & Graybill 5,049,881). The lzrw series of algorithms
                     24:   are available by ftp in ftp.adelaide.edu.au:/pub/compression/lzrw*.
                     25: 
                     26: - Add a super-tight (but slow) compression method, suitable for long
                     27:   term archives.  One problem is that the best versions of arithmetic
                     28:   coding are patented (4,286,256 4,295,125 4,463,342 4,467,317
                     29:   4,633,490 4,652,856 4,891,643 4,905,297 4,935,882 4,973,961
                     30:   5,023,611 5,025,258).
                     31: 
                     32:   Note: I will introduce new compression methods only if they are
                     33:   significantly better in either speed or compression ratio than the
                     34:   existing method(s). So the total number of different methods should
                     35:   reasonably not exceed 3. (The current 9 compression levels are just
                     36:   tuning parameters for a single method, deflation.)
                     37: 
                     38: - Add optional error correction. One problem is that the current version
                     39:   of ecc cannot recover from inserted or missing bytes. It would be
                     40:   nice to recover from the most common error (transfer of a binary
                     41:   file in ascii mode).
                     42: 
                     43: - Add a block size (-b) option to improve error recovery in case of
                     44:   failure of a complete sector. Each block could be extracted
                     45:   independently, but this reduces the compression ratio.
                     46: 
                     47: - Use a larger window size to deal with some large redundant files that
                     48:   'compress' currently handles better than gzip.
                     49: 
                     50: - implement the following options:
                     51: 
                     52:    -a    ascii text mode; convert end-of-lines to local OS conventions
                     53:    -e    encrypt
                     54:    -l    list .z file contents
                     55:    
                     56: - support .Z files in SCO 'compress -H' format.
                     57: 
                     58: Send comments to Jean-loup Gailly <[email protected]>.

unix.superglobalmegacorp.com

This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.