2017-04-09 8 views
1

gzipは高速から強への9つの圧縮レベルをサポートしています。 圧縮解除アルゴリズムは、圧縮レベルをまったく気にしません。 一般的なgzipアプリケーションとは別のツールで9より高いレベルに到達することはできますか? つまり、誰かがgzipレベル9より効果的な変更されたgzipコンプレッサーを作成できた可能性があります。gzip - 一般的な圧縮レベルを破る

バックグラウンドでは、圧縮されたgzファイルをホストするWebサーバーがあります。それらのファイルのサイズを減らすことはいいですし、最後に1バイトでもファイルを減らすために私のサーバーがどれくらい時間がかかるか気にしません。これは一度だけの作業なので、問題ではありません。

gzipのハッキングされたバージョンのような、より高いレベルをサポートしているか、より高い圧縮を提供していますか?

+0

*ハッキングされていれば、GZipは止まり、カスタムであり、両者がそれをサポートする必要があります。両方の端を制御する場合は、どのアルゴリズムでも自由に使用できます。 – Lloyd

+2

いいえ、フォーマットを「ハッキングする」ことなくコンプレッサーを "ハック"することができます。そのため、もう一方の端でgzipで解凍できます。 –

答えて

2

はい。それはzopfliと呼ばれています。それは辛いですが、zlibレベル9よりも約5%圧縮されます.zopfliはpigzに組み込まれています。これは複数のプロセッサーとコアを使用するgzipに相当します。 pigzの圧縮レベル11は、zopfliコンプレッサーを呼び出します。 (ピグは11まで上がります)大きな入力に複数のコアを使用すると、zopfliの遅さが緩和されます。

+0

bzip2のgzipレベルで1-9レベルですか? Bzip2はレベルを使用してブロックサイズを-1の100000バイトブロックと-9の900000バイトのように変更します:http://www.bzip.org/1.0.3/html/memory-management.html – osgx

+1

圧縮に時間を費やすという点で「好き」です。 zlibではブロックサイズは変更されず、コンプレッサーが一致する文字列を検索する度合いが異なります。 –

+0

Zopfli(https://developers.googleblog.com/2013/02/compress-data-more-densely-with-zopfli.html)とそれに関する論文(Data_compression_using_Zopfli.pdf)についてのブログ投稿がありました(ただし、今すぐオンラインコピーを見つけると、code.googleからの移行後にhttps://github.com/google/zopfliにはありません)...更新:論文のコピーhttp://web.archive.org/web/ 20130402101541/http://zopfli.googlecode.com/files/Data_compression_using_Zopfli.pdf。 zopfliのしくみと、なぜ圧縮が良いかについての説明(ソースコード以外)はありますか? – osgx