TODOの日本語訳です。
-----------------------------------------------------------------------------
gzip 用の TODO ファイル
取り入れるべき、計画されている機能のいくつかは以下の通りである。
・圧縮と展開のコードが、あらゆるプログラムによって使えるようなライブラリを形
成するように、そして、そのライブラリの上で gzip と zip 両方が書けるように、
ソースを構成する。これは、理想的には、リエントラントな(スレッドに安全な)ラ
イブラリであるべきだが、このことはパフォーマンスを低下させるだろう。ところ
で、あなたはサンプルプログラム zread.c を見ることができる。
ライブラリは、完全なブロックになるのを待つ代わりに、入力が利用可能になる
や否や、圧縮データが送られるような一つのモードを持つべきである。これは、対
話型のプログラムへ/から、圧縮データを送るのに便利に違いない。
・さまざまなユーザインタフェイスを定義するのが便利になるようにする。
(特にウィンドウ環境のために)
・任意の巨大量のデータのオンメモリな圧縮のサポート
(zip は今のところ、単一のバッファしか、オンメモリでは圧縮できない)
・可能な時には、メモリ内でファイルをマッピングする。これは、一般に、読み/書
きよりもずっと速い。(zip は今のところ一度にファイル全部をマッピングするが、
これはメモリ使用量を削減するための塊の中で行なわれるべきである)。
・ファイルシステムをインプリメントする時に都合が良いように、明快な圧縮で超高
速圧縮方法を追加する。ひとつの問題は、最高の候補である lzrw1 が二つの特許
を取られていることである(Waterworth 4,701,745 と Gibson & Graybill
5,049,881)。lzrw シリーズのアルゴリズムは ftp.adelaide.edu.au
:/pub/compression/lzrw* にあるものを ftp によって利用できる。
・長いアーカイブに都合が良いような(遅くてもいいから)超高密度圧縮方法を追加
する。ひとつの問題は、最高の算術圧縮のバージョンは、特許を取られているとい
うことである (4,286,256 4,295,125 4,463,342 4,467,317 4,633,490 4,652,856
4,891,643 4,905,297 4,935,882 4,973,961 5,023,611 5,025,258)。
(註)存在している方法よりも、スピードあるいは圧縮比のいずれかが特によい場
合は、私は新しい圧縮方法を紹介するつもりである。それで、異なった方法のトー
タルは、合理的には3つを越えないべきである。(現在の9つの圧縮レベルは、
deflation という単一の方法のパラメータを変えているだけである)
・オプションとして、エラー修正を追加する。ひとつの問題は、ecc の現在のバージョ
ンが、文字の混入や文字落ちをリカバーできないということである。ほとんどの共
通なエラーからリカバーできることは良いことであろう。(アスキーモードにおけ
るバイナリデータの転送)
・完成したセクタの失敗の場合、エラーリカバリの改善のために、ブロックサイズの
(-b) オプションを追加する。
各々のブロックは、独立に展開することができる。しかし、これは圧縮率を悪く
してしまう。
・compress が gzip より現時点で良い圧縮をしているような、大きな冗長性を持つ
ファイルを扱うために、より大きなウィンドウサイズを使う。
・-e (暗号化) オプションをインプリメントする。
Jean-loup Gailly までコメントを送ってください。
------------------------------------------------------------------------------
TODO を訳してみました。まだ、gzip について良く理解できていないし、圧縮理論
にも詳しくないので、誤訳や意味不明の珍訳があちこちにあります。(^_^;)
COPYRIGHT
本邦訳は、ArctanX こと田辺英昭が著作権を保持しますが、GPL に準拠した配
布を認めます。
★gzipのページに戻る
arctanx@hauN.org