|
|
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.