2021/01/03
Oculus Quest 2 のスペックと TVLauncherGo の呼び出し
Oculus Quest 2 を入手しました。性能が上がりつつ価格も下がっており、今 VR を始めるなら間違いなくこれが候補にあがるのではないかと思います。ケーブルも外部センサーも不要なモバイル VR でありながらルームスケールに対応しており、Oculus Link を使えば PC の VR ゲームもプレイできます。
Oculus Quest 1 とスペックを比較してみます。
VR HMD はハイエンド向けとモバイル向けに分かれています。ハイエンド向けではトラッキングの精度やトラッカーの数でまだまだ Lighthouse 方式が優勢でしょう。モバイル向けでは仕様的に Oculus Quest で完成されており、Quest 2 はさらなる機能強化が図られています。
まずパネル解像度が上がっており、片目だけで Full HD の 1.7倍 (1920x1832) に達しています。Quest 1 と比べても明らかにドットの隙間が見えにくくなっているのがわかります。
ガーディアンの外に出ると外部カメラの画像に切り替わりますが、Quest 2 の方が歪みが減って明るくなっており、そのまま違和感なく歩けます。
プロセッサも強化されています。スペックを調べると CPU は 1+3+4 構成の Octa core で、それぞれ 2.8GHz, 2.4GHz, 1.8GHz でした。GPU も Adreno 650 だったので、Snapdragon XR2 は Snapdrago 865 をベースにしていると思われます。
基本性能が強化された反面、コストダウンが見える部分もあります。Oculus Go と同じゴムバンドになっており、軽量化されているものの装着時の安定度は Quest 1 の方が上です。また小型化のためか内部の空間に余裕がなくなり、スペーサーを入れてもメガネがかなり入りづらくなっています。
一番残念だったのが、画面を見ながら IPD の微調整ができなくなっていることです。一旦 HMD を外してから直接レンズ部分をずらす必要があり、切り替えも 3段階のみとなっています。
また新しく Oculus デバイスをセットアップする場合は Facebook アカウントが必要です。
● Bluetooth Keyboard
Oculus Quest の UI は更新されており、外部ツールを使わなくても設定から Bluetooth Keyboard をペアリングできるようになっています。Quest 1 でもできるようになっています。
・設定 → テスト機能 → Bluetooth ペアリング
ただしキーボードレイアウトの変更はできないので、日本語配列などレイアウトを切り替えたい場合はやはり TVLauncerGo などの外部ツールから Android 本来の設定画面を呼び出す必要があります。レイアウト変更手順は下記の通り。
・TVLauncerGo → 設定 → システム → 言語と入力 → 物理キーボード → 物理キーボードを選択 → キーボードレイアウトの設定
● TVLauncherGo の呼び出し
Oculus Quest 1 と同じように TVLauncherGo が動きました。アカウントを開発者登録してから PC と USB で接続し、adb コマンドでインストールしています。
・Oculus Go で一般 Android アプリを起動できるランチャーを作ってみた
・GitHub: TVLauncherGo
Oculus TV がシステムに統合されているため、以前の解説と起動方法は異なっています。
1. Oculus ボタンのメニューから「アプリ」を選択
2. 右上のプルダウンを「すべて」にする
3. 右上の「テレビ」を選択
4. テレビアプリの左から「チャンネル」→「提供元不明のアプリ」


もしくは下記の方法でも直接呼び出せます。
1. アプリの右上のプルダウンを「提供元不明」にする
2. 直接 TV Launcher Go を選ぶ。

● Termux / UserLAnd
Termux は Version によっては動かないことがあるようです。昨年 2020/10 月に試したときは、Quest 1 で使っていた古いバージョンを使用しました。
UserLAnd は問題なくインストールできました。VNC を使うときに注意が必要な点も Quest 1 と同じです。Termux は単独で起動できますが、UserLAnd は TVLauncherGo 経由で呼び出す必要があります。詳しくは下記をご覧ください。
・Oculus Quest も文章書き&開発マシンにする
なお Android 10 になったため CTRL+SPACE の入力ができなくなっています。Quest 1 は Android 7.1 なので入力できました。
・UserLAnd : Android 9.0 で Ctrl + SPACE を使えるようにする
関連エントリ
・Oculus Quest で Rift のゲームをプレイする (Oculus Link)
・Oculus Quest 5万円ちょうどで買えるフルスペック VR
・Oculus Quest も文章書き&開発マシンにする
・Android/Oculus Go/Daydream の画面をミラーリングするツールを作ってみた
・Oculus Go で一般 Android アプリを起動できるランチャーを作ってみた
・VR で物が大きく見えたり小さく見えたりするわけ
・Oculus Go は VR ができる新しい携帯ゲーム機
Oculus Quest 1 とスペックを比較してみます。
Oculus Quest | Oculus Quest 2 | |
---|---|---|
SoC | Snapdragon 835 | Snapdragon XR2 |
CPU | Kryo 280 (A73 + A53) | Kryo 585 (A77 + A55) |
CPU Clock | 2.5GHz / 1.9GHz | 2.8GHz / 2.4GHz / 1.8GHz |
RAM | 4GB | 6GB |
GPU | Adreno 540 | Adreno 650 |
OS | Adnroid 7.1 (API 25) | Android 10 (API 29) |
Display | OLED 1440 x 1600 x2 | LCD 1832 x 1920 x2 |
IPD調節 | 無段階 | 3段階のみ |
発売 | 2019/05 | 2020/10 |
価格 | 49800円 (64GB) | 37100円 (64GB) |
VR HMD はハイエンド向けとモバイル向けに分かれています。ハイエンド向けではトラッキングの精度やトラッカーの数でまだまだ Lighthouse 方式が優勢でしょう。モバイル向けでは仕様的に Oculus Quest で完成されており、Quest 2 はさらなる機能強化が図られています。
まずパネル解像度が上がっており、片目だけで Full HD の 1.7倍 (1920x1832) に達しています。Quest 1 と比べても明らかにドットの隙間が見えにくくなっているのがわかります。
HMD | ROM | 価格 | 重さ | RAM | 画面 | 解像度比 | |
---|---|---|---|---|---|---|---|
Oculus Go | 32GB | 23800円 | $199 | 468g | 3GB | 2560x1440 | 1.00 |
Oculus Go | 64GB | 29800円 | $249 | 468g | 3GB | 2560x1440 | 1.00 |
Oculus Quest | 64GB | 49800円 | $399 | 571g | 4GB | 2880x1600 | 1.25 |
Oculus Quest | 128GB | 62800円 | $499 | 571g | 4GB | 2880x1600 | 1.25 |
Oculus Quest2 | 64GB | 37100円 | $299 | 503g | 6GB | 3664x1920 | 1.91 |
Oculus Quest2 | 256GB | 49200円 | $399 | 503g | 6GB | 3664x1920 | 1.91 |
ガーディアンの外に出ると外部カメラの画像に切り替わりますが、Quest 2 の方が歪みが減って明るくなっており、そのまま違和感なく歩けます。
プロセッサも強化されています。スペックを調べると CPU は 1+3+4 構成の Octa core で、それぞれ 2.8GHz, 2.4GHz, 1.8GHz でした。GPU も Adreno 650 だったので、Snapdragon XR2 は Snapdrago 865 をベースにしていると思われます。
基本性能が強化された反面、コストダウンが見える部分もあります。Oculus Go と同じゴムバンドになっており、軽量化されているものの装着時の安定度は Quest 1 の方が上です。また小型化のためか内部の空間に余裕がなくなり、スペーサーを入れてもメガネがかなり入りづらくなっています。
一番残念だったのが、画面を見ながら IPD の微調整ができなくなっていることです。一旦 HMD を外してから直接レンズ部分をずらす必要があり、切り替えも 3段階のみとなっています。
また新しく Oculus デバイスをセットアップする場合は Facebook アカウントが必要です。
● Bluetooth Keyboard
Oculus Quest の UI は更新されており、外部ツールを使わなくても設定から Bluetooth Keyboard をペアリングできるようになっています。Quest 1 でもできるようになっています。
・設定 → テスト機能 → Bluetooth ペアリング
ただしキーボードレイアウトの変更はできないので、日本語配列などレイアウトを切り替えたい場合はやはり TVLauncerGo などの外部ツールから Android 本来の設定画面を呼び出す必要があります。レイアウト変更手順は下記の通り。
・TVLauncerGo → 設定 → システム → 言語と入力 → 物理キーボード → 物理キーボードを選択 → キーボードレイアウトの設定
● TVLauncherGo の呼び出し
Oculus Quest 1 と同じように TVLauncherGo が動きました。アカウントを開発者登録してから PC と USB で接続し、adb コマンドでインストールしています。
・Oculus Go で一般 Android アプリを起動できるランチャーを作ってみた
・GitHub: TVLauncherGo
Oculus TV がシステムに統合されているため、以前の解説と起動方法は異なっています。
1. Oculus ボタンのメニューから「アプリ」を選択
2. 右上のプルダウンを「すべて」にする
3. 右上の「テレビ」を選択
4. テレビアプリの左から「チャンネル」→「提供元不明のアプリ」


もしくは下記の方法でも直接呼び出せます。
1. アプリの右上のプルダウンを「提供元不明」にする
2. 直接 TV Launcher Go を選ぶ。

● Termux / UserLAnd
Termux は Version によっては動かないことがあるようです。昨年 2020/10 月に試したときは、Quest 1 で使っていた古いバージョンを使用しました。
UserLAnd は問題なくインストールできました。VNC を使うときに注意が必要な点も Quest 1 と同じです。Termux は単独で起動できますが、UserLAnd は TVLauncherGo 経由で呼び出す必要があります。詳しくは下記をご覧ください。
・Oculus Quest も文章書き&開発マシンにする
なお Android 10 になったため CTRL+SPACE の入力ができなくなっています。Quest 1 は Android 7.1 なので入力できました。
・UserLAnd : Android 9.0 で Ctrl + SPACE を使えるようにする
関連エントリ
・Oculus Quest で Rift のゲームをプレイする (Oculus Link)
・Oculus Quest 5万円ちょうどで買えるフルスペック VR
・Oculus Quest も文章書き&開発マシンにする
・Android/Oculus Go/Daydream の画面をミラーリングするツールを作ってみた
・Oculus Go で一般 Android アプリを起動できるランチャーを作ってみた
・VR で物が大きく見えたり小さく見えたりするわけ
・Oculus Go は VR ができる新しい携帯ゲーム機
2021/01/02
PlayStation 5 の RAM 容量とストレージ
PlayStation はおよそ 6~7 年で新しい機種が出ています。歴代のメモリ容量を比べてみると、一世代毎にちょうど 16倍に増えていることがわかります。この法則で行けば PlayStation 5 のメモリ容量は 8GB × 16 で 128GB になるはず、なのですが実際は 16 GB で 2倍に増えただけでした。(PS5 Press release)
RAM 128GB は PC を見てもコスト的にまだ厳しいように見えますし、VRAM を 128GB 搭載したビデオカードもまだ出ていません。
期待されるメモリ容量との差をカバーしているのがおそらく高速 SSD になります。今の世代で力が入っているのはむしろストレージの方で、この 7年の変化は RAM よりも SSD の方が大きかったのでしょう。
専用 SSD によってロード時間を限りなく短縮できるならメモリ容量の限界を超えることに繋がります。限られたコストで中途半端に RAM を増やすよりも、ストレージに力を入れた方がより効果的だとの判断があったのではないかと思います。
なお上の表には若干ごまかしがあります。昔の機種は VRAM や Sound Memory が別だったので、それらを含めると PS1/PS2 の容量は増えます。さらに PS3 は最初から VRAM 込みの値になってます。修正すると下記の通り。
関連エントリ
・PlayStation 4
・PS3 PPU は速いのか
発売年 | PlayStation | RAM 容量 | 前世代比 |
---|---|---|---|
1994 | PlayStation | 2 MB | -- |
2000 | PlayStation 2 | 32 MB | 16倍 |
2006 | PlayStation 3 | 512 MB | 16倍 |
2013 | PlayStation 4 | 8 GB | 16倍 |
2020 | PlayStation 5 | 16 GB (128 GB?) | 2倍 (16倍?) |
RAM 128GB は PC を見てもコスト的にまだ厳しいように見えますし、VRAM を 128GB 搭載したビデオカードもまだ出ていません。
期待されるメモリ容量との差をカバーしているのがおそらく高速 SSD になります。今の世代で力が入っているのはむしろストレージの方で、この 7年の変化は RAM よりも SSD の方が大きかったのでしょう。
専用 SSD によってロード時間を限りなく短縮できるならメモリ容量の限界を超えることに繋がります。限られたコストで中途半端に RAM を増やすよりも、ストレージに力を入れた方がより効果的だとの判断があったのではないかと思います。
なお上の表には若干ごまかしがあります。昔の機種は VRAM や Sound Memory が別だったので、それらを含めると PS1/PS2 の容量は増えます。さらに PS3 は最初から VRAM 込みの値になってます。修正すると下記の通り。
発売年 | PlayStation | System Memory | Memory 合計 | 前世代比 |
---|---|---|---|---|
1994 | PlayStation | 2 MB | 3 MB | -- |
2000 | PlayStation 2 | 32 MB | 38 MB | 13倍 |
2006 | PlayStation 3 | 256 MB | 512 MB | 13倍 |
2013 | PlayStation 4 | 8 GB | 8 GB | 16倍 |
2020 | PlayStation 5 | 16 GB | 16 GB | 2倍 |
関連エントリ
・PlayStation 4
・PS3 PPU は速いのか
2021/01/01
Apple M1 とそれまでの Apple CPU の比較など
久しぶりに Intel Mac を使うと、コンパイルがなかなか終わらなくてあれ?と思うことがあります。以前比べたときは、同じ 2020年モデル同士の比較ながらビルド時間で 5倍ほどの差がありました。
M1 Mac が速い理由は色々あると思いますが、そもそもシンプルに CPU が速いです。これまで直接比較できるプラットフォームが無かっただけで、Apple の CPU はシングルスレッド性能が高くパフォーマンスが良好でした。
2018年に A12X を搭載した第3世代 iPad Pro が登場した時点ですでに「ほとんどのノートパソコンよりも優れたパフォーマンス」(ノートパソコンの92パーセントよりも高速)と謳っていることからもわかります。
先日 Apple Watch Series 6 の Apple S6 について性能を測定しました。合わせて手持ちの他のデバイスも一通りチェックしたのでその結果をまとめてみます。ログの全体はこちらにあります。
浮動小数点演算の同時に実行できる命令数 (IPC) に注目したのが下記の表です。単精度と一部の CPU のみ抜き出しています。あくまで浮動小数点演算命令しか見ていないので、必ずしも全体の性能を見ているわけではない点にご注意ください。
Intel CPU は AVX512 で最大 512bit 幅まで選べるものの同時に実行できる命令はいずれも 2命令までとなっています。
AMD Zen2 は add+mul の組み合わせで最大 4ですが、同じ種類の場合 2命令までとなります。Zen1 では 3命令に制限されていたようです。ちなみに Zen2 は通常の CPU (MCM) と APU (Monolithic) を比べましたが同じ結果でした。キャッシュサイズに違いはあるものの、特に浮動小数点演算の実行ユニットが削られているようなことはありませんでした。
Apple は A7 で 64bit 化と同時に 128bit fma x3 に拡張しています。ARM の Cortex は 64bit x2 なので、同じ ARM CPU でも 3倍の演算能力を持っており、スカラーや 64bit でも最大 1.5倍のスループットが期待できます。
さらに A9 で乗算も拡張されており、A12 以降いずれかのタイミングで 4命令に増加したと思われます。Intel が SIMD でピーク性能に特化しているのに対して、Apple は効率がよく小回りがきく印象です。
他の CPU や倍精度含めた表はこちらにあります。
・CPU の浮動小数点演算能力の詳細
ARM core 自体ここ数年で性能がかなり上がっています。以前 Pixel 3 (Snapdragon 845/Cortex-A75) を使い始めたときに、ハイエンドスマートフォンが十分開発に使えるくらい速いことに気が付きました。Core i7 (4 core / 8 thread) の普通の PC とコンパイル時間がほとんど変わらなかったためです。
・ARM CPU 上の開発環境とコンパイル時間の比較 (2) Pixel 3/UserLAnd
下記は Compile Benchmark からの抜粋です。4C8T の PC と Pixel3 のみ載せています。十分速いことがわかります。
もともとコンパイルは並列化が有効で、多コア CPU や I/O 性能の違いで速度が出やすくなります。スマートフォン向け ARM CPU はシングルスレッド性能よりも core 数を増やす方に進化していたので、特に並列コンパイルと相性が良かったのだと思われます。
core 数よりもシングルスレッド性能に力を入れいてた Apple が、同じくらい core 数を揃えたのが前述の Apple A12X です。さらに世代を重ねて、改良と同時に動作 Clock を上げたのが Apple M1 になります。以前のテストでも、コンパイル速度は Apple M1 では 16C/32T に匹敵する結果が出ていました。予想を大きく上回るもので、ARM への移行は早く進むのではないかと思います。
・MacBook Air Late 2020 / Apple M1 のビルド速度と浮動小数点演算能力
関連ページ
・CPU の浮動小数点演算能力の詳細
・Compile Benchmark
・VFP Benchmark Log 計測結果まとめ
関連エントリ
・Apple Watch Series 6 と CPU 性能の測定
・MacBook Air Late 2020 / Apple M1 のビルド速度と浮動小数点演算能力
・Ice Lake の vfpbench 結果と AVX512 命令
・Windows 10 WSL2 のコンパイル速度比較
・4倍速い Ryzen 9 3950X の UE4 コンパイル速度
・Huawei P30 Lite/Fire HD 10(2019) のコンパイル速度と UserLAnd
・Jetson Nano / Clang の Version とコンパイル速度の比較
・Snapdragon 835 と 845 のコンパイル時間の比較&浮動小数点演算能力
・ARM CPU 上の開発環境とコンパイル時間の比較 (2) Pixel 3/UserLAnd
M1 Mac が速い理由は色々あると思いますが、そもそもシンプルに CPU が速いです。これまで直接比較できるプラットフォームが無かっただけで、Apple の CPU はシングルスレッド性能が高くパフォーマンスが良好でした。
2018年に A12X を搭載した第3世代 iPad Pro が登場した時点ですでに「ほとんどのノートパソコンよりも優れたパフォーマンス」(ノートパソコンの92パーセントよりも高速)と謳っていることからもわかります。
先日 Apple Watch Series 6 の Apple S6 について性能を測定しました。合わせて手持ちの他のデバイスも一通りチェックしたのでその結果をまとめてみます。ログの全体はこちらにあります。
浮動小数点演算の同時に実行できる命令数 (IPC) に注目したのが下記の表です。単精度と一部の CPU のみ抜き出しています。あくまで浮動小数点演算命令しか見ていないので、必ずしも全体の性能を見ているわけではない点にご注意ください。
float 32bit Scalar | |||||
---|---|---|---|---|---|
CPU/SoC | SIMD Width | add | mul | fma | total |
Apple S1 | 32bit fma | 1 | 1 | 1 | 1 |
Apple S2 | 32bit fma | 1 | 1 | 1 | 1 |
Apple S6 | 128bit add + 128bit fma | 2 | 1 | 1 | 2 |
Apple A5 | 128bit mad | 1 | 1 | 1 | 1 |
Apple A6 | 128bit fma | 1 | 1 | 1 | 1 |
Apple A7 | 128bit add + 128bit fma x2 | 3 | 2 | 2 | 3 |
Apple A8 | 128bit add + 128bit fma x2 | 3 | 2 | 2 | 3 |
Apple A9 | 128bit fma x3 | 3 | 3 | 3 | 3 |
Apple A10 | 128bit fma x3 | 3 | 3 | 3 | 3 |
Apple A11 | 128bit fma x3 | 3 | 3 | 3 | 3 |
Apple M1 | 128bit add/mul + 128bit fma x3 | 4 | 4 | 3 | 4 |
Haswell | 256bit fma/add + 256bit fma/mul | 1 | 2 | 2 | 2 |
Skylake | 256bit fma + 256bit fma | 2 | 2 | 2 | 2 |
IceLake | 256bit fma + 256bit fma | 2 | 2 | 2 | 2 |
Zen | 128bit add x2 + 128bit mul x2 | 2 | 2 | 2 | 3 |
Zen+ | 128bit add x2 + 128bit mul x2 | 2 | 2 | 2 | 3 |
Zen2 | 256bit add x2 + 256bit mul x2 | 2 | 2 | 2 | 4 |
SIMD | SIMD 2 | SIMD 4 | SIMD 8 | SIMD 16 | ||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
CPU/SoC | add | mul | fma | total | add | mul | fma | total | add | mul | fma | total | add | mul | fma | total |
S1 | 0.5 | 0.5 | 0.5 | 0.5 | 0.25 | 0.25 | 0.25 | 0.25 | -- | -- | -- | -- | -- | -- | -- | -- |
S2 | 0.5 | 0.5 | 0.5 | 0.5 | 0.25 | 0.25 | 0.25 | 0.25 | -- | -- | -- | -- | -- | -- | -- | -- |
S6 | 2 | 1 | 1 | 2 | 2 | 1 | 1 | 2 | -- | -- | -- | -- | -- | -- | -- | -- |
A5 | 1 | 1 | 1 | 1 | 1 | 1 | 1 | 1 | -- | -- | -- | -- | -- | -- | -- | -- |
A6 | 1 | 1 | 1 | 1 | 1 | 1 | 1 | 1 | -- | -- | -- | -- | -- | -- | -- | -- |
A7 | 3 | 2 | 2 | 3 | 3 | 2 | 2 | 3 | -- | -- | -- | -- | -- | -- | -- | -- |
A8 | 3 | 2 | 2 | 3 | 3 | 2 | 2 | 3 | -- | -- | -- | -- | -- | -- | -- | -- |
A9 | 3 | 3 | 3 | 3 | 3 | 3 | 3 | 3 | -- | -- | -- | -- | -- | -- | -- | -- |
A10 | 3 | 3 | 3 | 3 | 3 | 3 | 3 | 3 | -- | -- | -- | -- | -- | -- | -- | -- |
A11 | 3 | 3 | 3 | 3 | 3 | 3 | 3 | 3 | -- | -- | -- | -- | -- | -- | -- | -- |
M1 | 4 | 4 | 3 | 4 | 4 | 4 | 3 | 4 | -- | -- | -- | -- | -- | -- | -- | -- |
Haswell | -- | -- | -- | -- | 1 | 2 | 2 | 2 | 1 | 2 | 2 | 2 | -- | -- | -- | -- |
Skylake | -- | -- | -- | -- | 2 | 2 | 2 | 2 | 2 | 2 | 2 | 2 | -- | -- | -- | -- |
IceLake | -- | -- | -- | -- | 2 | 2 | 2 | 2 | 2 | 2 | 2 | 2 | 1 | 1 | 1 | 1 |
Zen | -- | -- | -- | -- | 2 | 2 | 2 | 3 | 1 | 1 | 1 | 2 | -- | -- | -- | -- |
Zen+ | -- | -- | -- | -- | 2 | 2 | 2 | 3 | 1 | 1 | 1 | 2 | -- | -- | -- | -- |
Zen2 | -- | -- | -- | -- | 2 | 2 | 2 | 4 | 2 | 2 | 2 | 4 | -- | -- | -- | -- |
Intel CPU は AVX512 で最大 512bit 幅まで選べるものの同時に実行できる命令はいずれも 2命令までとなっています。
AMD Zen2 は add+mul の組み合わせで最大 4ですが、同じ種類の場合 2命令までとなります。Zen1 では 3命令に制限されていたようです。ちなみに Zen2 は通常の CPU (MCM) と APU (Monolithic) を比べましたが同じ結果でした。キャッシュサイズに違いはあるものの、特に浮動小数点演算の実行ユニットが削られているようなことはありませんでした。
Apple は A7 で 64bit 化と同時に 128bit fma x3 に拡張しています。ARM の Cortex は 64bit x2 なので、同じ ARM CPU でも 3倍の演算能力を持っており、スカラーや 64bit でも最大 1.5倍のスループットが期待できます。
さらに A9 で乗算も拡張されており、A12 以降いずれかのタイミングで 4命令に増加したと思われます。Intel が SIMD でピーク性能に特化しているのに対して、Apple は効率がよく小回りがきく印象です。
他の CPU や倍精度含めた表はこちらにあります。
・CPU の浮動小数点演算能力の詳細
ARM core 自体ここ数年で性能がかなり上がっています。以前 Pixel 3 (Snapdragon 845/Cortex-A75) を使い始めたときに、ハイエンドスマートフォンが十分開発に使えるくらい速いことに気が付きました。Core i7 (4 core / 8 thread) の普通の PC とコンパイル時間がほとんど変わらなかったためです。
・ARM CPU 上の開発環境とコンパイル時間の比較 (2) Pixel 3/UserLAnd
下記は Compile Benchmark からの抜粋です。4C8T の PC と Pixel3 のみ載せています。十分速いことがわかります。
Device/OS | CPU | thread | ビルド時間 |
---|---|---|---|
Desktop PC Windows WSL2 | Core i7-6700K | 4/8 | 29 sec |
Desktop PC Ubuntu 18.04 | Core i7-4790K | 4/8 | 31 sec |
Pixel 3 Android + Termux | Snapdragon 845 | 8/8 | 35 sec |
Desktop PC Windows WSL1 | Core i7-6700K | 4/8 | 40 sec |
MacBook Air Early 2020 | Core i5-1030NG7 | 4/8 | 45 sec |
Mac mini Late 2012 | Core i7-3615QM | 4/8 | 46 sec |
もともとコンパイルは並列化が有効で、多コア CPU や I/O 性能の違いで速度が出やすくなります。スマートフォン向け ARM CPU はシングルスレッド性能よりも core 数を増やす方に進化していたので、特に並列コンパイルと相性が良かったのだと思われます。
core 数よりもシングルスレッド性能に力を入れいてた Apple が、同じくらい core 数を揃えたのが前述の Apple A12X です。さらに世代を重ねて、改良と同時に動作 Clock を上げたのが Apple M1 になります。以前のテストでも、コンパイル速度は Apple M1 では 16C/32T に匹敵する結果が出ていました。予想を大きく上回るもので、ARM への移行は早く進むのではないかと思います。
・MacBook Air Late 2020 / Apple M1 のビルド速度と浮動小数点演算能力
Device/OS | CPU | thread | ビルド時間 |
---|---|---|---|
Desktop PC Windows WSL2 | Ryzen 9 3950X | 16/32 | 8 sec |
MacBook Air Late 2020 | Apple M1 | 8/8 | 9 sec |
Desktop PC Windows WSL2 | Ryzen 7 4750G | 8/16 | 18 sec |
Desktop PC Windows WSL2 | Ryzen 7 1800X | 8/16 | 21 sec |
MacBook Air Early 2020 | Core i5-1030NG7 | 4/8 | 45 sec |
関連ページ
・CPU の浮動小数点演算能力の詳細
・Compile Benchmark
・VFP Benchmark Log 計測結果まとめ
関連エントリ
・Apple Watch Series 6 と CPU 性能の測定
・MacBook Air Late 2020 / Apple M1 のビルド速度と浮動小数点演算能力
・Ice Lake の vfpbench 結果と AVX512 命令
・Windows 10 WSL2 のコンパイル速度比較
・4倍速い Ryzen 9 3950X の UE4 コンパイル速度
・Huawei P30 Lite/Fire HD 10(2019) のコンパイル速度と UserLAnd
・Jetson Nano / Clang の Version とコンパイル速度の比較
・Snapdragon 835 と 845 のコンパイル時間の比較&浮動小数点演算能力
・ARM CPU 上の開発環境とコンパイル時間の比較 (2) Pixel 3/UserLAnd