2日使った印象は...とにかく「速い」
Apple M1搭載のMacBook Airが到着して3日目、ここまでの感想を一言でいうと「速い」。到着直後の時点では、「予想より」とか「エントリーモデルとしては」という前置きありでの感想だったが、しばらくしてそのような言辞が適切でないことを理解した。とにかく「速い」のだ。
Apple M1搭載のMac(以下、M1 Mac)には、「速い」の意味が2つある。搭載されているCPU/GPUやメモリの処理能力をもって速い云々という部分では、他のコンピュータと変わらないが、M1 Macは実行されるバイナリが「ネイティブ(arm64)」か「x86_64」かを考慮しなければならないからだ。後者はバイナリトレンスレータ「Rosetta 2」の処理を経るため、arm64バイナリを直接実行するよりパフォーマンス的にハンディがある。
しかし、そのハンディをものともしないのであれば、"二重の意味で速い"ということになる。M1 Macレビュー2回目となる今回は、ベンチマークツールの結果から"M1 Macが速い理由"を読み解いていこう。
定番ベンチマークツール「GeekBench 5」を試す
発売初日にあちこちのWEBサイトやSNSでM1 Macのベンチマークが出回ったようなので、本稿では定番の「GeekBench 5」の結果のみ引用することにした。何がどう速いのか、この結果を見るだけでもおよそのことがわかるはず。なお、M1 Mac(MacBook Air)の比較対象にはMacBook Pro(13-inch Mid 2019/1.4GHz)を利用している。
GeekBench 5の結果 | ||||
MacBook Pro(Intel) | MacBook Air(Apple M1) | |||
シングルコア | マルチコア | シングルコア | マルチコア | |
TOTAL | 918 | 3924 | 1726 | 7678 |
Crypto Score | 990 | 4666 | 2434 | 9909 |
Integer Score | 886 | 3633 | 1591 | 7058 |
Floating Point Score | 975 | 4431 | 1899 | 8649 |
AES-XTS | 990 | 4666 | 2434 | 9909 |
Text Compression | 865 | 4508 | 1521 | 6088 |
Image Compression | 911 | 4172 | 1378 | 7261 |
Navigation | 827 | 3350 | 1726 | 5762 |
HTML5 | 800 | 2985 | 1674 | 7690 |
SQLite | 887 | 3634 | 1420 | 6988 |
PDF Rendering | 912 | 3623 | 1600 | 6913 |
Text Rendering | 904 | 3329 | 1772 | 7943 |
Clang | 926 | 3885 | 1681 | 8177 |
Camera | 950 | 3442 | 1593 | 7075 |
N-Body Physics | 866 | 3943 | 1830 | 7814 |
Rigid Body Physics | 1196 | 6063 | 1768 | 9135 |
Gaussian Blur | 293 | 3588 | 1427 | 7933 |
Face Detection | 581 | 4633 | 2253 | 10182 |
Horizon Detection | 939 | 3978 | 1975 | 9686 |
Image Inpainting | 1896 | 6771 | 3219 | 12754 |
HDR | 1831 | 6840 | 2492 | 12705 |
Ray Tracing | 1352 | 5867 | 2586 | 14657 |
Structure from Motion | 902 | 3094 | 1420 | 6846 |
Speech Recognition | 962 | 3238 | 1606 | 4917 |
Machine Learning | 1117 | 3005 | 1189 | 4537 |
まず、この結果だけ見れば、MacBook AirはほぼダブルスコアでMacBook Proに圧勝ということになる。暗号処理、整数演算・浮動小数点演算いずれもバラつきなくMacBook Airが上回っており、その傾向はシングルコア/マルチコアで大きく変わらない。
GeekBenchというベンチマークソフトは、テキスト表示や画像の描画/塗りつぶしといったそれ自体は意味に乏しい処理だけではなく、顔検出やHDR、音声認識といったエンドユーザにとって身近な処理も検証している。そして今回の結果を見ると、MacBook Airでは全項目にわたりスコアを伸ばしているところに注目したい。つまり、実用的で可視化しやすい機能が満遍なく速くなっているのだ。
特に高速化されている項目が、「Gaussian Blur」と「Face Detection」。前者は画像エフェクトの一種・ガウシアンブラーのフィルタ処理を、後者は画像から人の顔を検出するテストで、特にシングルコアのときMacBook Proを圧倒するスコアを叩き出している。このような処理が必ずマルチコアで実行されるとは限らないことをあわせると、いろいろな場面でM1の高速性を感じることができそうだ。
M1というプロセッサの底力を感じさせる項目のひとつが、コンパイルのパフォーマンスを測る「Clang」(Xcodeにも採用されているコンパイラ)。1,094行のCソースファイルを処理するというテストだが、ファイルの扱いやライブラリのコールといった基礎的な部分にまで高速化の恩恵が届いていることが伺える。
GeekbBenchのWEBサイトで他のMacのスコアを確認してみると、シングルコアのみでいえばMacPro(Intel Core i9-9900K)をも上回るほど。この結果はエビデンスのひとつに過ぎないが、他のベンチマークソフトも軒並み高得点なところを見ると、M1のパフォーマンスが優れているということは断言できる。
メディア変換はIntel有利なれど「Rosetta 2」に驚愕
ベンチマークソフトだけでは引っ掛かるものがあるため、念のためメディアファイルの変換テストも行った。ひとつはサイズ2.25GB/4分50秒の4K動画(30fps、H.264/AAC)を720pにコンバートするテストで、もうひとつは328MBのWAVファイルをFLACにトランスコードするテスト。前者はQuickTime Playerで、後者はTerminalで「afconvert」コマンドにより実施した。
4K動画の変換テストは、MacBook Proが43.04秒、MacBook Airが56.76秒という結果に。この違いがCPUの性能差によるものか、QuickTime Playerが依存するフレームワーク(AVFoundation)のARMアーキテクチャへの最適化によるものかは不明だが、とにかくMacBook Proのほうが速い。
WAVファイルをFLACへトランスコードするテストは、MacBook Proが5.17秒、MacBook Airが5.31秒。僅差ではあるが、こちらもMacBook Proに軍配が上がった。動画ともども、メディアファイルの扱いに関してはいまだIntelアーキテクチャに分があるということだろうか。
もうひとつ、気になっていたことのテストも行った。同じ処理を「Rosetta 2」経由で実行すると、どれほどの起動時間の差が生じるかということだ。PowerPCからIntelへの移行期に活躍した初代Rosettaとは異なり、二代目Rosettaは初回の起動時に作成したバイナリ(Apple Silicon形式に変換したもの)をキャッシュしておき、2回目以降の起動に利用するしくみを採用しているため、初回と2回目では2回目のほうが起動時間は短く、2回目と3回目以降はほぼ同じになるはずなのだ。
afconvert(Universalバイナリ)をコピーしたものからlipoコマンドでarm64バイナリを除去し、それを利用してWAV→FLACコンバートしたところ、ビンゴ。初回は6.95秒かかったところ、2回目は5.44秒、3回目もほぼ同じ5.46秒。キャッシュの効果がうかがえる。
しかも、変換に要した時間がarm64ネイティブバイナリで実行したとき(5.31秒)とあまり差がない。動画のように長時間/ギガ単位のファイルともなると、有為な差を確認できるのかもしれないが、Rosetta 2を経由してもそれほどパフォーマンスが落ちていないこともまた確かだ。Rosetta 2の威力、おそるべし。