0

LZWを使用してデータを圧縮/解凍する方法についてこの記事を読みましたが、複数のスレッドを使用するようにしたいと思っています...しかし、それは不可能だと思います。どう思いますか?このテーマに関する論文や記事はありますか?またはそれを行う方法についてのヒントさえ。

4

3 に答える 3

2

低レベルで圧縮アルゴリズムを並列化すると、スピードアップが制限され、価値があるよりも多くの問題が発生する可能性があります。その理由は、実際の利点は、大量のデータ セットを圧縮することにあるからです。その場合、単純にデータを断片に分割し、通常のアルゴリズムで個別に圧縮する方がはるかに簡単です。

LZW は古く、あまり効果的ではありません。他の方法では、より高速かつ効果的に圧縮できます。lz4からzliblzma 、ppmd、paq などのさまざまなスキームを、圧縮率が最も低い最速のものから圧縮率が最も高いものまで順に見ていきます。並列化の例としてpigzがあります。これは、zlibを使用して大きなファイルをgzip 形式に圧縮し、必要な数のプロセッサとコアを使用します。これは、前のブロックから後続のブロックへの履歴を並行して提供するため、シリアルの 1 プロセッサ gzip 圧縮と比較して圧縮効果が失われません。

于 2012-05-21T19:52:17.677 に答える
2

この論文を読むことをお勧めします。特に、セクション 2.2 では、LZW スキームを並列化する方法を正確に説明しています。

于 2012-05-21T13:09:05.980 に答える