|
|
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]>.
This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.