圧縮の比較:個々のファイルのgzip圧縮と同じファイルのtarのgzip圧縮


0

圧縮するファイルのリストが与えられた場合に、以下の裏で行われる仮想的なアーカイブ形式を考えてみましょう。

  1. 各ファイルを個別にgzipします
  2. gzipをまとめてtar

これを従来のtarに続いてgzipで比較してください。

前者の方法は、もしあれば、どのような状況下で後者よりも圧縮率が向上しますか?

前者の方法を簡単に実装すると、個々のパックされたファイルにすばやくアクセスできるだけでなく、インデックスにすぐにアクセスできます。したがって、コンテンツのストリーム全体を考慮しないために、これらの利点が圧縮の潜在的な削減によって相殺される条件について疑問に思っています。

回答:


0
  1. 個々の圧縮ファイルにはそれぞれ独自のヘッダーがあり、ヘッダーの数を増やすことで圧縮を減らします。各ヘッダーは小さく、おそらく数百バイトですが、合計されます。

  2. 圧縮技術では辞書を使用し、各ファイルに辞書を配置するとオーバーヘッドも増加します。複数のファイルが同じ辞書の一部を使用して、ファイルの合計サイズを削減します。

  3. 圧縮できないか、比率が非常に小さいデータは、個別に圧縮しても無視できる効果があります。

  4. 圧縮にかかる時間は、停止し、すべてをディスクにフラッシュし、1つのファイルにデータを追加する代わりに、各ファイルの新しいファイル(新しいヘッダー、辞書など)を開始する必要があるため、少し長くなります。

  5. 数週間にわたるログファイルの圧縮など、多数の同様のファイルは、辞書を共有してスペースを節約します。

  6. 各ファイルシステムは偶数サイズのストレージユニット(多くの場合4k)を使用し、その4kの一部は各ファイルで無駄になります。

数千または数万のファイルを処理するまで、どちらの手法でも保存または損失される量は多くありません。

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.