« ヘルプ

マルチコア

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

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


マルチコア圧縮

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

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

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



なぜ解凍中にマルチコアを使用しないのか

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

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


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

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

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

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

また、100 KB 未満の小サイズファイルを多量に圧縮する場合も、CPU 占有率が高くならないことがあります。