BayTrail-D Celeron J1900 の PC でコンパイル時間を比べてみました。
flatlib3 Linux clock core RAM OS arch compiler time sec ------------------------------------------------------------------------- Raspberry Pi ARM11 0.7GHz x1 0.5GB wheezy arm6 gcc-4.7 2276.8 (38m) Atom Z540 1.9GHz x1 2GB 14.04 x86 clang-3.5 446.9 (7m) Atom Z540 1.9GHz x1 2GB 14.04 x86 gcc-4.8 369.4 (6m) Tegra3 Cortex-A9 1.2GHz x4 1GB 13.04 arm7 gcc-4.8 247.4 (4m) BayTrail-D J1900 2.0GHz x4 8GB 14.04 x64 gcc-4.8 72.1 BayTrail-D J1900 2.0GHz x4 8GB 14.04 x64 clang-3.5 53.2 Core i7-2720QM Sandy 2.2GHz x4 16GB 14.04 x64 gcc-4.8 26.6 Core i7-2720QM Sandy 2.2GHz x4 16GB 14.04 x64 clang-3.5 20.2 ・time が少ない方が高速
Linux 向け build は ARM 上でも走ります。
4core BayTrail で 1分弱。
Mobile 向け i7 で 20秒なので速度差は 2.6倍ほど。
Desktop PC だと 3倍以上差がつくと思われます。
i7 と ARM11 との差は 100倍以上。
下記は Android NDK を使った build 時間です。
armeabi, armeab-v7a, mips, x86 の 4種類、さらに OpenGL ES2/ES3 の
2種類生成しているため、上の Linux build よりも数倍時間がかかっています。
flatlib3 AndroidNDK clock core RAM OS arch time sec ------------------------------------------------------------------------- Core 2 Duo P7350 2.0GHz x2 8GB MacOSX 10.9 x64 482.1 (8m2s) BayTrail-D J1900 2.0GHz x4 8GB Windows 7 x64 424.1 (7m4s) BayTrail-D J1900 2.0GHz x4 8GB Ubuntu 14.04 x64 277.2 (4m37s) Core i5-3210M Ivy 2.5GHz x2 8GB MacOSX 10.9 x64 219.0 (3m39s) Core i7-2720QM Sandy 2.2GHz x4 16GB Windows 8.1 x64 157.7 (2m37s) Core i7-3615QM Ivy 2.3GHz x4 16GB Windows 8.1 x64 146.5 (2m26s) Core i7-2720QM Sandy 2.2GHz x4 16GB MacOSX 10.9 x64 142.7 (2m22s) Core i7-3615QM Ivy 2.3GHz x4 16GB MacOSX 10.9 x64 114.1 (1m54s) Core i7-2720QM Sandy 2.2GHz x4 16GB Ubuntu 14.04 x64 102.9 (1m42s) ・time が少ない方が高速 ・Android NDK (r9d) gcc 4.8 ・armeabi, armeabi-v7a, mips, x86
↑こちらは ARM 上で走らない代わりに OS に依存せず比較できる利点があります。
ただ OS 環境による差が予想以上に大きいので
プロセッサの性能を見るならば同一 OS 上で比較した方がよさそうです。
Cygwin を経由せず直接 gcc を呼び出しているのですが、
それでも Windows 上のコンパイルは低速でした。
下記は OSX target での比較。
flatlib3 Mac OSX clock core RAM OS arch compiler time sec ----------------------------------------------------------------------- Core 2 Duo P7350 2.0GHz x2 8GB 10.9 x64 clang-3.4 69.0 Core i5-3210M Ivy 2.5GHz x2 8GB 10.9 x64 clang-3.4 38.8 Core i7-2720QM Sandy 2.2GHz x4 16GB 10.9 x64 clang-3.4 26.1 Core i7-3615QM Ivy 2.3GHz x4 16GB 10.9 x64 clang-3.4 21.8 ・time が少ない方が高速 ・x86_64 のみ
i7-2720QM と Core 2 Duo との時間差は、OSX 向けで 2.64倍、
OSX 上の Android build で 3.37倍 になっています。
Ubuntu 上 Android build で比べると i7-2720QM と BayTrail は 2.2倍。
よって Coe 2 Duo よりも BayTrail 4core の方が速いと言えます。
下記は Windows target の比較です。
Windows 向けは x86/x64 両バイナリを生成していることと、
OS によってコードの量が異なるのでより時間がかかっています。
flatlib3 Windows clock core RAM OS arch compiler time sec ------------------------------------------------------------------------ BayTrail-D J1900 2.0GHz x4 8GB Win7 x64 VS2013TCP 402.1 Core i7-2720QM Sandy 2.2GHz x4 16GB Win8.1 x64 VS2013TCP 137.3 Core i7-3615QM Ivy 2.3GHz x4 16GB Win8.1 x64 VS2013TCP 113.4 ・time が少ない方が高速 ・x86, x64
↑こちらのデータを見ると 2.9倍と差が開いており、
比率としては Core 2 Duo との差が少なくなっています。
最後はデータとしては意味が無いけど念のため iOS 向け build です。
5種類分の Fat Binary を生成するため時間がかかっています。
OSX と比べるとほぼ 5倍なので計算通りです。
flatlib3 iOS clock core RAM OS arch compiler time sec --------------------------------------------------------------------------- Core 2 Duo P7350 2.0GHz x2 8GB 10.9 x64 clang-3.4 350.6 (5m51s) Core i5-3210M Ivy 2.5GHz x2 8GB 10.9 x64 clang-3.4 189.1 (3m9s) Core i7-2720QM Sandy 2.2GHz x4 16GB 10.9 x64 clang-3.4 128.5 (2m8s) Core i7-3615QM Ivy 2.3GHz x4 16GB 10.9 x64 clang-3.4 107.6 (1m48s) ・time が少ない方が高速 ・armv7, armv7s, arm64, x86, x86_64
Desktop PC として使っているとさすがに遅さを感じますが、
CPU core 数が多いためそれなりにパフォーマンスが出ている印象です。
8inch クラスの軽量な Tablet PC として携帯しつつ、コンパイル時間が
ノート PC の数倍の範囲に収まるなら十分使えそうだと感じました。
ただし実際の Tablet では動作クロックも搭載 RAM 容量も大きく減るので
その点は検証が必要かと思います。
関連エントリ
・Atom Bay Trail の浮動小数点演算能力