並列 bzip2 圧縮
Contents
[
Hide
Show
]Bzip2 圧縮に複数の CPU コアを使用する
BZIP2 は、データをブロックに分割し、各ブロックを個別に処理することでデータを圧縮します。 Aspose.ZIP は、複数の CPU コアを利用してこれらのブロックを並列処理できる機能を提供し、大きなファイルの圧縮プロセスを大幅に高速化します。
デフォルトでは、圧縮はシングルスレッドですが、Aspose.ZIP を使用すると、CompressionThreads
プロパティを調整することで並列処理を有効にすることができます。使用するスレッドの数を指定するだけです。 「CompressionThreads」を 1 より大きい値に設定すると、Bzip2 は指定された数の CPU コアを使用します。
マルチコア圧縮を使用する理由
利用可能なすべての CPU コアを使用すると、大規模なデータ セットを扱う場合、またはパフォーマンスが優先される場合に特に有利です。このアプローチでは、ワークロードを複数のコアに分散することで、大きなファイルの圧縮に必要な時間を短縮します。
次の例では、
CompressionThreads オプションは、Environment.ProcessorCount
を CompressionThreads
プロパティに割り当てることで、マシン上で使用可能なすべてのコアを使用するように設定されています。
1 using (Bzip2Archive archive = new Bzip2Archive())
2 {
3 archive.SetSource("data.bin");
4 archive.Save("result.bz2", new Bzip2SaveOptions() { CompressionThreads = Environment.ProcessorCount });
5 }