Annotation of coherent/g/usr/bin/gzip/TODO, revision 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.