WinRarを使用して、Json構造化テキストを含むほぼ同じサイズ(80Mb)の2つのテキストファイルを圧縮しています。
テキストは同じプログラムによって生成され、それを調べると、2つのファイルの構造に明らかな違いはないようです(Jsonフィールドは同じで、値のみが異なります)。
ただし、それらをZipファイルに圧縮する場合、圧縮率に1:10の不一致があります。つまり、1つのファイルが約に圧縮されます。 2Mbと他の1つを約に。 20Mb。
このような大きなミスマッチの理由は何でしょうか?
結果を複製しました。
ファイルTicker_May.txt
のデータは、デフォルトの圧縮レベル [〜#〜] deflate [〜#〜] には適していないようです。これは、速度を重視しています。最高の圧縮より。
圧縮は、データ内の繰り返しパターンを検出することによって機能するため、データのセグメントを調べるために使用されるバッファーのサイズなどの要因に依存します。ほとんどの圧縮製品は、パラメータを使用して圧縮の品質を決定します。通常、より良い圧縮にはより多くのCPUが必要です。
「Ultra」の圧縮レベルを使用して圧縮すると問題が解決したため、Ticker_May.txt
のZipアーカイブのサイズはzip形式のTicker_April.txt
のサイズよりも29%小さくなりました。
Zipが「Ultra」圧縮レベルで実行された場合でも、7Zipによるファイルの圧縮はZipの約2倍であったことに注意してください。 7Zipは、Zipで使用されている従来の圧縮アルゴリズム/形式よりもはるかに優れた圧縮アルゴリズム/形式を使用しています。