ARM CPU 上の開発環境とコンパイル時間の比較

最近のハイエンドスマートフォンは 6G ~ 8GB もの RAM を搭載しており PC との差がなくなってきました。termux というアプリを使えば Android 上でも開発環境を整えられるとのことなので、コンパイル時間を比べてみました。

Smartphone SoC RAM thread time1 time2
Galaxy S6 Edge Exynos 7420 3GB 8 77.8 79.8
ZenFone AR Snapdragon 821 8GB 4 118.3 127.7
Nexus 5X Snapdragon 808 2GB 6 195.6 181.0
Nexus 5 Snapdragon 800 2GB 4 244.1 233.0

・2回連続で計測しており単位は秒です。time1, time2 の値が小さい方が高速です。

big.LITTLE で 8 core の Galaxy S6 Edge が際立つ結果となっています。4 core PC で 30秒ほどなので十分なな速度と言えそうです。

今回のビルドは RAM 容量よりも Thread 数が有利に働いたようです。Galaxy S6 はビルドに 8 core 全部使われており、LITTLE core も使って並列度を増やした方が速いことが分かります。下記は Galaxy S6 と ZenFone AR でスレッド数を変えて試した結果です。bit.LITTLE を意識して制限するよりも全 core 使った方が高速でした。

↓Galaxy S6 Edge (4+4 big.LITTLE 8 core)

thread数 time
8 76.3
6 84.8
4 111.7

↓ZenFone AR (2+2 big.LITTLE 4 core)

thread数 time
5 128.9
4 118.3
3 142.0
2 174.0

以下はスマートフォン以外のデバイス含めてテストした結果です。

Smartphone (clang-6.0) SoC RAM CPU core thread time1 time2
Galaxy S6 Edge Exynos 7420 3GB A57 2.1 + A53 1.5 4+4 8 77.8 79.8
ZenFone AR Snapdragon 821 8GB Kyro 2.3 + Kyro 1.6 2+2 4 118.3 127.7
Nexus 5X Snapdragon 808 2GB A57 1.8 + A53 1.4 2+4 6 195.6 181.0
Nexus 5 Snapdragon 800 2GB Krait 400 2.2GHz 4 4 244.1 233.0
Tablet (clang-6.0) SoC RAM CPU core thread time1 time2
Tegra Note 7 Tegra 4 1GB Cortex-A15 1.8GHz 4 4 159.7 145.4
Fire HD 6 MT8135 1GB A15 1.5 + A7 1.2 2+2 4 203.3 202.5
Nexus 7 2013 Snapdragon 8064 2GB Krait 1.5GHz 4 4 262.2 260.5
Nexus 9 Tegra K1 2GB Denver 2.3GHz 2 2 317.7 356.8
Fonepad 7 ME372CL Atom Z2560 1GB Saltwell 1.6GHz 2 4 686.5 682.8
MeMO Pad 7 ME176C Atom Z3745 1GB Silvermont 1.33GHz 4 4 294.5 291.6
TV (clang-6.0) SoC RAM CPU core thread time1 time2
SHIELD TV Tegra X1 3GB A57 2.0GHz + A53 4+4 4 76.0 76.0
Nexus Player Atom Z3560 1GB Silvermont 1.8GHz 4 4 339.8 334.3
Fire TV Stick 2015 Broadcom 28155 0.5GB Cortex-A9 1.0GHz 2 2 596.7 569.2
SmartWatch (clang-6.0) SoC RAM CPU core thread time1 time2
FossilQ Marshal Snapdragon 400 0.5GB Cortex-A7 0.8GHz 4 2 810.5 810.7
SBC (clang-3.5) SoC RAM CPU core thread time1 time2
Dragonbaord 410c Snapdragon 410 1GB Cortex-A53 1.2GHz 4 4 117.3 118.7
Raspberry Pi 3 BCM2837 1GB Cortex-A53 1.2GHz 4 4 175.3 159.8
Raspberry Pi 2 BCM2836 1GB Cortex-A7 0.9GHz 4 4 337.1 301.2
Chromebook (clang-6.0) SoC RAM CPU core thread time1 time2
Chromebook Flip C101PA RK3399 4GB A72 1.8 + A53 2+4 6 106.0 105.1
Chromebook C720 Haswell 4GB Celeron 2955U 1.4GHz 2 2 220.7 219.3
PC (clang-3.8) SoC RAM CPU core thread time1 time2
X370GTN (W10+WSL) Ryzen 7 1800X 32GB Zen 3.7GHz 8 16 25.4 22.2
H97I-PLUS (W10+WSL) Core i7-4770 16GB Haswell 3.4GHz 4 8 28.7 28.2
A88M-ITX (W10+WSL) A10-7870K 8GB Steamroller 3.9GHz 4 4 65.9 61.6
MacBook Pro Core i5-3210M 2GB 8GB Ivy Birdge 2.5GHz 2 4 83.7 90.8
Q1900B-ITX (16.04LTS) Celeron J1900 8GB Silvermont 2.0GHz 4 4 112.2 108.8

・Chromebook は termux ではなく Crouton + Ubuntu を使用しています。

スマートフォンやタブレットは計測時のばらつきが結構あります。2回目以降の方が遅くなるケースも多く、形状が小さいデバイスほど発熱の影響を多く受けているものと思われます。

ARM で一番速かったのは Tegra X1 の SHIELD TV です。こちらは他の ARM デバイスと違い内蔵ファンによる熱対策が行われています。

キーボードがつながらないので実用性はほぼ無いものの Wear OS (Android Wear) の Smartwatch でも動きました。

null

関連エントリ
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