スマートフォンの性能が上がっています。Snapdragon 845 搭載の Pixel 3 を手に入れたので、開発環境としてどのくらい使えるか再び試してみました。(前回の記事はこちらです)
また Android 上で一般アプリとして実行可能な Linux 環境 UserLAnd がリリースされているので、Termux と合わせてテストしました。どちらも root 不要です。
● 今回の結果 (Android + Termux)
Device | SoC/CPU | RAM | Thread | time | 速度比 |
---|---|---|---|---|---|
Pixel 3 | Snapdragon 845 | 4GB | 8/8 | 32 | 4.2x |
Galaxy S6 Edge | Exynos 7420 | 3GB | 8/8 | 77 | 1.8x |
ZenFone AR | Snapdragon 821 | 8GB | 4/4 | 111 | 1.2x |
Nexus 5X | Snapdragon 808 | 2GB | 6/6 | 135 | 1.0x |
・time = コンパイル時間。単位は秒。この値が小さい方が速い。
Cortex-A75 ベースとなった Snapdragon 845 は非常に速く、Desktop PC と比べても遜色ない速度でコンパイルが完了しています。普通に開発環境として使いたいレベル。
下記はスマートフォン以外のデバイスを含めた比較です。
Device | SoC/CPU | RAM | Thread | time |
---|---|---|---|---|
Desktop W10+VMware | Ryzen 7 1800X | 32GB | 16/8 | 24 |
Desktop W10+VMware | Core i7-6700K | 32GB | 8/4 | 29 |
Pixel 3 | Snapdragon 845 | 4GB | 8/8 | 32 |
MacMini 2012 | Core i7-3615QM | 16GB | 8/4 | 43 |
Galaxy S6 Edge | Exynos 7420 | 3GB | 8/8 | 77 |
Desktop Linux | A10-7870K | 8GB | 4/2 | 82 |
Chromebook C101PA | RK3399 | 4GB | 6/6 | 87 |
MacBook Pro 2013 | Core i5-3210M | 8GB | 4/2 | 97 |
Desktop Linux | Celeron J1900 | 8GB | 4/4 | 108 |
ZenFone AR | Snapdragon 821 | 8GB | 4/4 | 111 |
Nexus 5X | Snapdragon 808 | 2GB | 6/6 | 135 |
Tegra Note 7 | Tegra 4 | 1GB | 4/4 | 148 |
Note W10+WSL | Atom x7-Z8700 | 4GB | 4/4 | 200 |
Chromebook C720 | Celeron 2955U | 4GB | 2/2 | 222 |
Nexus 9 | Tegra K1 | 2GB | 2/2 | 272 |
Nexus 7 2013 | Snapdragon S4 Pro | 2GB | 4/4 | 275 |
MeMO Pad 7 ME176C | Atom Z3745 | 1GB | 4/4 | 312 |
・W10 + VMware = VMware Workstation 15 Player + Ubuntu 18.04
・W10 + WLS = Windows Subsystem for Linux + Ubuntu 18.04
前回同様 C++ ライブラリの Build を行っています。Build Target は Linux 向けで統一。実行はコマンドラインから行い、それぞれ 2回連続で走らせたうち速い方を採用しています。
Chromebook C720 は crouton + Ubuntu 18.04 です。Chromebook Flip C101PA は Android の Termux ではなく ChromeOS 公式の Linux 機能 (Debian stretch) を使用しています。
Windows PC の場合は WSL (Windows Subsystem for Linux) や VMware Workstation Player を利用しているので、若干オーバーヘッドがある点に注意してください。
どの程度オーバーヘッドがあるのか、WSL と VMware を比較してみた結果は下記のとおりです。直接 Linux を install するよりも効率は落ちており、また VirtualMachine 系よりも WSL の方が遅くなっていることがわかります。いずれも Windows 10 1809 と Ubuntu18.04。
Device | CPU | RAM | Thread | time |
---|---|---|---|---|
Desktop W10+VMware | Ryzen 7 1800X | 32GB | 16/8 | 24 |
Desktop W10+WSL | Ryzen 7 1800X | 32GB | 16/8 | 27 |
Desktop W10+VMware | Core i7-6700K | 32GB | 8/4 | 29 |
Desktop W10+WSL | Core i7-6700K | 32GB | 8/4 | 39 |
Desktop Linux (Native) | A10-7870K | 8GB | 4/2 | 82 |
Desktop W10+VMWare | A10-7870K | 8GB | 4/2 | 86 |
Desktop W10+WSL | A10-7870K | 8GB | 4/2 | 104 |
MacBook Pro Palallels | Core i5-3210M | 8GB | 4/2 | 154 |
MacBook Pro W10+VMWare | Core i5-3210M | 8GB | 4/2 | 159 |
MacBook Pro W10+WSL | Core i5-3210M | 8GB | 4/2 | 189 |
Termux は利用できるパッケージに制限がありましたが、UserLAnd はほぼそのまま一般の Linux Distribution が利用できるようです。下記は Termux と UserLAnd + Ubuntu の速度比較です。
Device (Termux) | CPU | RAM | Thread | time |
---|---|---|---|---|
Pixel 3 | Snapdragon 845 | 4GB | 8/8 | 32 |
Galaxy S6 Edge | Exynos 7420 | 3GB | 8/8 | 77 |
ZenFone AR | Snapdragon 821 | 8GB | 4/4 | 111 |
Nexus 5X | Snapdragon 808 | 2GB | 6/6 | 135 |
Device (UserLAnd) | CPU | RAM | Thread | time |
Pixel 3 | Snapdragon 845 | 4GB | 8/8 | 78 |
ZenFone AR | Snapdragon 821 | 8GB | 4/4 | 221 |
Nexus 5X | Snapdragon 808 | 2GB | 6/6 | 361 |
・UserLAnd = Ubuntu (18.04) + SSH
残念ながらビルド時間は UserLAnd の方が倍以上遅くなっています。ファイルシステムの違いが原因と思われますが、それでも Pixel 3 の速度は十分使える範囲です。
なお UserLAnd の場合、古いデバイスではカーネルの違いか正しく動かないものがありました。Pixel3, ZenFone AR, Nexus 5X で動作したものの、それ以外の Android 端末では使えませんでした。
Pixel 3 は手持ちの古い Note PC よりも快適そうなので、持ち歩ける PC としてまじめに使ってみたいと思います。
↓ Android Pie の画面分割機能を使った画面です。左側が UserLAnd (SSH) で右が Termux。普通に日本語環境の構築もできます。Ubuntu 以外にも Arch, Debian, Kali Linux が利用可能。VNC で GUI も使えるようです。
関連エントリ
・ARM CPU 上の開発環境とコンパイル時間の比較
・AMD CPU Ryzen とコンパイル時間の比較 (2)
・AMD CPU Ryzen とコンパイル時間の比較
・ARM Cortex-A53 の浮動小数点演算速度とコンパイル時間の比較
・2955U vs N3150/J1900/Athlon5350 (コンパイル時間の比較)
・Raspberry Pi 2 で速くなったコンパイル時間の比較
・BayTrail vs Kabini (Celeron J1900 vs Athlon 5350)
・コンパイル時間の比較 BayTrail
・Atom vs Core i7