2016-06-01 11 views
0

)圧縮するには100 MBの大きさの大きなテキストファイルがあります。それは速くなければならない(12-14秒)。私はどのようなアルゴリズムを考慮することができ、どのような予測圧縮率になるのでしょうか? 私はFLZP、SR2、ZPAQ、Fp8、LPAQ8、PAQ9Aのようないくつかのファイル圧縮アルゴリズムを手に入れました。時間制限は厳しいです。大きな(100 MB)テキストファイルの高速圧縮(

答えて

1

あなたが探しているパフォーマンス基準を定義していません。 LZベースのコンプレッサー(FLZP、LZO、LZ4、LZHAM、スナッピー、...)が最速です。 PAQコンプレッサーは、各ビットごとにコンテキストミキシングを使用するため、速度は遅くなりますが、最高の圧縮率が得られます。その間に、Brotli、Zstd(速度/圧縮をチューニングするための幅広いオプションが用意されています)、古いBzip/Bzip2などが見つかります。個人的には、私はその素晴らしいスピード/圧縮の妥協とその簡単なコードのためにBCMが好きです:https://github.com/encode84/bcm

+0

私は時間制限について述べました。私は最高の圧縮率を期待するだけでなく、アルゴリズムは時間制限を遵守する必要があります。 –

+1

制限時間は制約であり、パフォーマンスの定義ではありません。時間制限内で、圧縮率が制限されたより速いアルゴ(2秒未満など)を希望する場合は、LZコンプレッサーを使用してください(ZstdとBrotliには多くのレベルがあります)。時間制限に近い圧縮時間でOKであれば、CMベースのコンプレッサーはより良い比率を提供します。 CM圧縮機がハードウェア上十分に高速であるかどうかはまだ分かりません。 – flanglet

関連する問題