このページの本文へ

M1 MacでWindowsが動く「Parallels Desktop 17」性能をベンチマークテストでチェック

2021年10月18日 09時00分更新

文● 柴田文彦 編集●飯島恵里子/ASCII

  • この記事をはてなブックマークに追加
  • 本文印刷

実機に対する相対速度は満足できるものか

 ユーザーにとって気になるのは、「従来のバージョンよりパフォーマンスが何%向上したか」ということより、「Windowsの実機PCと比べて、どれくらいの速度で動作するのか」ということだろう。とはいえ、このような比較には、比較対象としてどのようなPCを選ぶかということに始まって、無限のバリエーションが考えられる。

 そこでここでは条件を絞り、同じMac上で動くmacOSとWindows上で同じベンチマークアプリを動かして、それぞれの結果を比較してみることにした。もちろんmacOSはネイティブでの、WindowsはmacOSの上のParallels仮想マシン上での動作となる。当然ながら元のハードウェアの仕様は同一なので、ネイティブ動作と、Parallels仮想マシンでの動作の比較という点では意味のあるテストだろう。アプリが動作するOSは異なるものの、マルチプラットフォームで動作するベンチマーク専用アプリであれば、OSによる違いは最小に抑えられていると考えられる。

 ただし、1つ問題がある。仮想マシンはホストマシンのCPUとメモリについて、すべてのリソースを利用して動作することはできないので、そのままではフェアな比較ができないということ。それは以下のような考えで解決することにした。

 ここで使用したした2台のMacは、いずれもMacBook Proの13インチモデルで、どちらも16GBのメモリを搭載している。CPUは、1台がM1チップ、1台がIntel Core i5(第10世代)Quad Core 2GHzを搭載する。仮想マシンには、Parallelsのデフォルトに従って、いずれも4つのコアと6GBのメモリを割り当てている。今回のベンチマークアプリが、6GB以上のメモリを要求するとは考えにくいが、コア数はネイティブの場合8コア(スレッド)なので、マルチコアでの性能比較は8コア対4コアになってしまう。

 そこで今回は、ベンチ用アプリとして、Geekbench(5.4.1)とCinebench(23.200)を使用し、ネイティブ環境と仮想環境の性能は、シングルコアでのみ比較して評価することとした。さらに、あくまで参考までとして、ウェブブラウザー上で動作するJavaScriptの動作速度を評価するJetStream2(https://browserbench.org/JetStream/)を使って、コア数の違いを意識しないラフな比較もしている。ブラウザーは、それぞれOSメーカー純正のものを使う。macOSはSafari、WindowsはEdgeだ。これは、両者の実用上の体感的な速度の違いとして参考になるだろう。

 まずGeekbenchの結果を表で示そう。仮想マシン上のWindowsで動作するGeekbenchでは、なぜかGPU性能の測定ができなかったので、今回は「Compute」で示されるGPU性能については比較しない。

 なお、今回のテストで比較したいのは、あくまでもネイティブの実行速度と、その上で動作する仮想マシンの実行速度だ。とはいえ、仮想マシン上では、Windowsを動かした場合の速度を評価するのが現実的と考えた。そこで、Intel搭載機とM1搭載機の条件をなるべく揃えることも考慮して、ホストOSとしてはmacOS Big Surを、ゲストOSとしては、Windows 10を使用した。いずれも、2021年9月時点での最新バージョンだ。

Geekbenchの実行結果

 この表の中で、macOSとWindowsの比較として意味のあるのは、いちばん上の行のCPUのシングルコアの性能だ。まずM1搭載機では、macOSの1747に対してWindowsは1534となっている。macOSを1.00としたWindowsの比率は0.88となる。これはネイティブのハードウェアの性能に対して、仮想マシンが約9割の速度で動作することを示している。またインテル搭載機では、macOSの1242に対してWindowsは1077で、同様に比率は0.87となる。Geekbenchに関しては、M1搭載機とインテル搭載機は、ほぼ互角の結果となり、いずれも十分に実用的な数字と言える。

 1つ注意を要するのは、Geekbench自体はインテルCPU用のコードで書かれたプログラムだということ。M1上のARM版Windowsでは、Windowsが内蔵するコード変換機能を通して動作する。その分だけ、インテル上のWindowsに比べて不利だ。それでも、ほぼ同じ性能比率を実現しているということは、ARM版Windows上でのインテルCPU用アプリの実行効率の高さを示していると言える。

 もう1つ、macOSとWindowsの比較ではないが、興味深い比率を示しておこう。GeekbenchはM1上のmacOSではARMベースのApple Siliconのネイティブなアプリとして動作するが、ユニーバサルバイナリなので、インテルCPU用のコードも内蔵している。Geekbenchでは、そのコードをRosetta 2を通して動作させることも可能だ。その結果も表に示したが、シングルコアでの結果は1305となっている。これは、簡単に言えばM1上でインテル用コードを実行するRosetta 2の実行効率を示している。Apple Siliconネイティブに対する比率を求めると、0.75となり、Parallelsによる仮想マシンの実行効率よりも低い。逆に言えば、それだけParallelsの仮想マシンを含めたARM版Windowsの実行効率が高いということになる。

 次にCinebenchの結果も検討しておこう。同様にシングルコアの性能を比較すると、M1搭載機ではmacOSの1504に対してWindowsは547となっている。比率は0.36だ。インテル搭載機では、macOSの1056に対してWindowsは1052で、ほぼ同じとなった。比率を計算して四捨五入すると1.00となる。

Cinebenchの実行結果

 M1搭載機では、Geekbenchに比べると比率はかなり低い。プログラムの種類以外の条件は同じなので、Parallelsによる仮想マシンの特性が、Cinebenchのプログラムに対しては、Geekbenchほどマッチしていないということになる。このことは、あらゆるタイプのプログラムに対して、Parallelsの仮想マシンが最適化できているわけではないことを示していると考えられる。それに対してインテル搭載機では、ネイティブと仮想マシン上の動作がほぼ等速となった。さすがに歴史が長いだけに、インテルCPU用の仮想マシンの最適化はM1に比べてかなり進んでいると考えていいだろう。逆に言えば、M1用の仮想マシンに対しては、まだ最適化の余地がかなり残っていると見ることも可能だ。

 最後にJetStream 2では、特にシングルコアに限った実行はできないので、厳密にはフェアな比較ではない。とはいえ実機でも、ブラウザー上のプログラムが常にすべてのCPUコアを使用して動作するとも限らないので、実用上はそれなりに意味のある比較となるだろう。

JetStream 2の実行結果

 M1搭載機ではmacOSの247.337に対してWindowsは182.687で、比率は0.74だ。インテル搭載機では、macOSの164.110に対してWindowsは109.319で、比率は0.67となる。平均すれば約7割といったところで、これは大雑把な比較ながら、Parallelsの仮想マシン上で使う一般的なWindowsのアプリの、ネイティブなMacアプリに対する実行効率の一例として、そこそこ妥当な線ではないかと思われる。

 以上のようにピックアップした実行効率(比率)をグラフで確認しておこう。

ネイティブ動作と仮想マシン上での動作の速度比率

カテゴリートップへ

ASCII.jp RSS2.0 配信中