Linuxでテキストファイルを圧縮するには、どのアーカイブ方法が適していますか?


16

私のアプリケーションでは、テキストファイルであるログの圧縮を行う必要があります。

それと思われ、同じ圧縮率bzip2gzip持っています。

あれは正しいですか?


xz(xz-toolsから、または7zからp7zip、lzmaに非常に似ています)が最適です。bzip2はgzipよりも優れています。
osgx

回答:


4

通常、bz2は、圧縮率が高く、回復機能が優れています。

OTOH、gzは高速です。

xzはbz2よりも優れていると言われていますが、タイミングの動作はわかりません。


xzはbzip2よりも低速です。
osgx

xzは単に遅いだけでなく、ずっと遅い300 MBのファイルは、bzip2が圧縮するのに約30秒かかりました。xzを5分以上圧縮してから殺した
テベ

@Копать_Шо_я_нашел選択した圧縮レベルに大きく依存すると思います。で-1、それほど遅くはありませんが、デフォルト設定では、かなり遅くなる傾向があります。
glglgl

7

maximumcompression.comの最終更新は2011年6月(2015年10月に更新された回答)です。
したがって、このWebサイトでは
、現在のチャンピオンテキストコンプレッサーについては言及していません。

      cmix

コンテスト/ベンチマーク:

詳細:
Byron Knollは、Matt Mahoneyが説明したData Compression Explainedcmixという本に基づいて、2013年からlibreソフトウェア(GPL)として積極的に開発しています。Matt Mahoneyはまた、上記のベンチマークのいくつかを維持し、コマンドラインのインクリメンタルアーカイバであるZPAQWP)を提案しています。


より標準的なツール(必要なRAMが少ない)を好む場合は、以下をお勧めします。

      lrzip

lrzipCon Kolivasrzipによる進化版です。Long Range ZIPLzma RZIPの 2つの名前を表します。(他の一般的な圧縮ツール)よりも優れていることがよくあります。アレクサンダーリッチョもお勧めします。
lrzip
lrzipxz
lrzip


私のお気に入りは:

      zpaq

「アーカイバの専門家」マット・マホーニーは、集中的に取り組んできましたPAQの 10年のためのアルゴリズムおよびCPU /メモリリソースと圧縮レベルの間で最良の妥協を提供しています。

しかし、最後のzpaqバージョンは、多くの場合、パッケージ化されていない/利用できる最近のディストリビューションに:-(
私は新しいマシンを持っていると私は非常に良いコンプレッサーを必要とするとき、私はいつもソースからコンパイル:https://github.com/zpaq/zpaq

clone https://github.com/zpaq/zpaq
cd zpaq
g++ -O3 -march=native -Dunix zpaq.cpp libzpaq.cpp -pthread -o zpaq



0

bz2の圧縮はより厳しく、アルゴリズムには冗長性を探して圧縮するオプションが多くあります。

gzipははるかに多くのツールにあり、より多くのクロスプラットフォームです。より多くのWindowsツールが.gzファイルを処理できます。これはhttpの一部であるため、Webブラウザでも理解できます。

Linuxには、圧縮ファイルを直接操作できるツールがあります。zgrepおよびbzgrepは、圧縮ファイルを検索できます。

Linuxの場合は、圧縮率をわずかに向上させるためにbzip2を使用します。


0

xzはbz2よりもはるかに圧縮率が高くなりますが、時間がかかります。したがって、最大圧縮が目標であり、ハードドライブのスペースが限られている場合(これは、98%のドライブが1つある場合です-ファイルシステムを再編成している間)、スクリプトを実行して作業を行うことができます-休憩を取り、5分後に戻ってきます。

unxzは、私の経験では非常に高速に解凍できます。これは、私にとって日常的に良いことです。

bz2はxzよりも圧縮が高速ですが、xzの圧縮結果を達成するようには見えません。

これらの評価を行う唯一の方法は、通常圧縮/解凍する一般的なファイルの混合に対してベンチマークを実行し、パラメータを変更して、どれが一番上に来るかを確認することです。

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