7-Zipのパフォーマンスを高速化する方法
少し前に、ある読者から7-Zipの高速化について質問がありました。おそらく、ファイルの圧縮に長時間かかるのにうんざりしているのでしょう。正直なところ、7-Zipは頼りになる圧縮ソフトとしてはなかなか良いのですが、最大限の圧縮率を目指すと遅くなることがあります。そのため、とにかく早く終わらせたいだけで、圧縮ファイルのサイズが小さくても構わないのであれば、圧縮レベルを微調整するとかなり効果的です。また、JPEGやPNGなど、既に圧縮されているファイルを圧縮する場合は、「Ultra」で極端に遅くするのは得策ではありません。「最速」を選択するだけで、それほど手間をかけずに済む場合もあります。
しかし、ここから少し技術的な話になります。7-Zipのデフォルト設定では、速度とファイルサイズのバランスが取れた「標準」圧縮レベルが採用されています。さらに効果を高めるには、 「最高速」に切り替えると圧縮時間が大幅に短縮され、場合によっては「標準」の半分近くまで短縮されます。その代償とは?アーカイブのサイズは少し大きくなるかもしれませんが、正直なところ、ちょっとした作業には時間の節約の方が重要です。
7-Zipで最速の圧縮を選ぶ方法
では、どうすればいいのでしょうか?7-ZipのGUIからファイルを追加する際、「圧縮レベル」というドロップダウンメニューを探してください。通常はアーカイブ作成ウィンドウ内にあります。 「ストア」「最速」「高速」「標準」「最大」「超高速」の中から「最速」を選択してください。小さなファイルをまとめて圧縮する場合、この変更は圧縮時間に大きな違いをもたらします。
場合によっては、圧縮方式をLZMA2に切り替えると改善されることもあります。その理由は?LZMA2は最大8スレッドをサポートするため、マルチコアCPUでより効率的に動作するからです。デフォルトでは、7-ZipはLZMAを使用し、少数のスレッドしか使用しません。これは新しいPCではやや非効率的です。これを有効にするには、「設定」>「オプション」>「圧縮」>「方式」でLZMA2を選択してください。 「マルチスレッドを使用する」にチェックを入れ、必要なスレッド数(通常は利用可能なすべてのコア)を設定してください。そうすることで、圧縮は複数のコア間で共有され、特に大きなファイルでは著しく高速化されます。
注意:GUIで十分なオプションが表示されない場合、一部の設定ではレジストリまたはコマンドラインを調整してマルチスレッドを強制する必要があります。PowerShellまたはCMDでのコマンドの例は以下のようになります。
7z a -mmt=on archive.zip files
これは7-Zipにマルチスレッドを明示的に有効にするよう指示します。特にバックアップやスクリプトを自動化している場合、ボタンやメニューをクリックするだけでは不十分な場合があります。
正直に言うと、すでに圧縮されている形式を圧縮するなら、さらに圧縮しようと考えるのはやめましょう。すでに小さいものをさらに小さくしようとして時間を無駄にする意味はありません。
一部のマシンでは、この方法は少し扱いにくい場合があります。CPUのスレッド処理方法やファイルサイズへの反応などによって多少異なります。しかし、一般的には、最速の設定に切り替えてマルチスレッドを有効にすると、待ち時間を大幅に短縮できます。