マルチコア搭載コンピューターでの圧縮 - Bandizip

マルチコア搭載コンピューターでの圧縮

マルチコアプロセッサとは

CPU の処理単位はコアと呼ばれ、複数のコアを持つ CPU はマルチコア CPU と呼ばれます。 初期の PC ではシングルコアのみでしたが、最近では、モバイル CPU にもマルチコア CPU が搭載されています。従って、マルチコア CPU 対応は、今日のソフトウェア性能を評価するうえで不可欠な要素なのです。

マルチコア圧縮

Bandizip はマルチコア圧縮に対応しています。データ圧縮には膨大な CPU 処理が必要なため、マルチコアを使用して並列圧縮にすると速度が向上します。



Bandizip は、たとえば 4 コア 8 スレッド CPU では 6 倍高速化でき、8 コア 16 スレッド CPU では 13 倍高速化できます。

これらのイメージは、マルチコア対応の Bandizip と、シングルコアのみを使用する Finder の比較を示しています。




なぜ展開中にマルチコアを使用しないのですか?

Bandizip を使用した圧縮では CPU 使用率が最大まで増加しますが、展開時にはそれほど高くなりません。

これはデータ圧縮アルゴリズムによるものです。ほとんどのデータ圧縮アルゴリズムは、フロントデータを参照する方法を使用して実装されています。この特性のため、圧縮は並行してできますが、並行展開の実行は難しいのです。

Thanks to the recent advancement of technology, however, some ways have been introduced to make full use of a multi-core CPU when decompressing an archive. Bandizip may perform faster decompression using every core in the CPU for the following archives:

  • 7Z archives compressed with LZMA2 algorithm
  • RAR archives compressed with RAR5 algorithm
  • ZPAQ archives
  • ZIP archives

圧縮時に CPU 使用率が高くならないのはなぜか

また、圧縮時の CPU 使用率低下という問題があります。圧縮操作は以下のステップを繰り返します。

圧縮するファイルを読み込む (オリジナル・ハードディスク) ▶ 圧縮する (CPU) ▶ アーカイブに書き込む (ターゲットハードディスク)

通常、この手順では圧縮がネックとなるため、CPU 使用率は高くなります。ただし、低速メディア (外部 USB メモリやネットワークドライブ等) を使用する場合には、CPU ではなくディスクI/O がネックとなるため、CPU 使用率が高くならない可能性が生じます。

注意

  • また、100 KB 未満の小サイズファイルを多量に圧縮する場合も、CPU 占有率が高くならないことがあります。
  • 7zipは、ZIP形式でファイルを圧縮するときにマルチコア圧縮をサポートしますが、単一のファイルではなく、複数のファイルに対してのみ機能します。