簡易コンパイルベンチ
簡易的にUbuntu Linuxでベンチマークを取りたい。†
- Linuxサーバーになっている、Atom,ARM,Core-i3などの速度比を知りたい。
- では、とりあえず適当なC言語プロジェクトでフルmakeしたときの所要時間を計ってみる。
小さなテキストエディタ jed を使ってみる。
やってみた。†
- jedコンパイルに必要な開発パッケージの取得
# apt-get build-dep jed
- jedソースの取得と1回目のビルド
$ apt-get -b source jed $ cd jed-0.99.19
- クリーンする
$ make clean
- フルmakeの速度を計測
$ time make
結果を晒す†
所要時間 (実時間 秒) | 所要時間 (user秒) | システム | OS | CPU | クロック | メモリー | ストレージ | |
6.082 | 5.488 | 自作PC | U16.04 64bit | Intel(R) Pentium(R) CPU G3258 | @ 3.20GHz 2Core | 8GB DDR3 | 2TB HDD | |
24.238 | 22.240 | ドスパラのミニPC/StickPC相当品 | U16.04 64bit | Intel(R) Atom(TM) CPU Z3735F | @ 1.33GHz 4Core | 2GB LPDDR3 | 32GB eMMC | |
7.819 | 26.416 | ドスパラのミニPC/StickPC相当品 | U16.04 64bit | Intel(R) Atom(TM) CPU Z3735F | @ 1.33GHz 4Core | 2GB LPDDR3 | 32GB eMMC | cd src;time make -j 4を実行 |
78.372 | 74.580 | pcDuino v1 | U14.04 32bit | AllwinnerA10 / ARMv7 Processor rev 2 (v7l) | @1GHz 1Core | 1GB | 32GB MicroSD | |
50.183 | 46.330 | Nexus7(2012) | U14.04 32bit on Android4.4 | Tegra/ARMv7 Processor rev 9 (v7l) | @1.3GHz | 1GB | 8GBモデル | |
19.267 | 62.710 | Nexus7(2012) | U14.04 32bit on Android4.4 | Tegra/ARMv7 Processor rev 9 (v7l) | @1.3GHz | 1GB | 8GBモデル | cd src;time make -j 4を実行 |
- ちなみに、jedのビルドはマルチプロセッサ非対応なので、上記結果は基本シングルコアでのgccビルド&リンク時間。
- 3行目の結果は-j 4オプション付きで実行。4コア同時に回すとシングルコアのPentiumGと同じぐらいのパワーが出る!!!
- AtomZ3735Fはターボ時のコアは1.8GHz動作らしい。
- AllwinnerA10以外のARM Linux機を持っていないのでラズパイ等の速度は不明
- RAMディスク上でやったほうが良いのかな???(MicroSDは遅い)--->結果は殆ど同じだった。
結論†
- AtomZ3735F、結構やるじゃん。
- 速いARMを見てみたかった。(
手持ちがありません)買いました。↓
続編:RaspberryPi3をてにいれた。†
所要時間 (実時間 秒) | 所要時間 (user秒) | システム | OS | CPU | クロック | メモリー | ストレージ | |
46.466 | 38.950 | RaspberryPi3 | 32bit | BroamCom BCM2837 | @1.2GHz 4Core | 1GB | 32GB MicroSD | |
15.546 | 47.350 | RaspberryPi3 | 32bit | BroamCom BCM2837 | @1.2GHz 4Core | 1GB | 32GB MicroSD | make -j 4 |
- 処理速度はAtomZ-3735Fの半分程度。(ともに4コア。クロックは1.2G:1.33G(ターボブースト1.8G))
続編その2:CeleronN5015をてにいれた。†
所要時間 (実時間 秒) | 所要時間 (user秒) | システム | OS | CPU | クロック | メモリー | ストレージ | |
8.359 | 7.760 | TENKU NUC | 64bit | N5015 | @2GHz 4Core | 16GB | 480GB SSD | |
2.827 | 9.400 | TENKU NUC | 64bit | N5015 | @2GHz 4Core | 16GB | 480GB SSD | make -j 4 |
- コンパイル速度は、おおよそ、RaspberryPi3の5倍速
- コア数は同一(4コア)
- クロック比は Pi3 : N5105 = 1.2GHz : 2.0 GHz
- ATomZ3735Fと比較しても、シングルコアで2.5倍速ぐらいある。
- なんと、昔のデスクトップPC(Pen-G3258 3.2GHz)よりも速い。(正確に言うと、コア数が2倍なので勝った。シングルコア性能ではやや劣)
- とはいえ、クロック比を考慮すると、健闘してる感じ。
- 当時の計測がHDD上だったので、リベンジの必要はある。
なお、N5015のクロックは、2GHzで、バースト時2.9GHz。
比較対象:Core-i5 8400 デスクトップ機†
- あれ?N5015に負けている・・・ VMだと遅いのか?
所要時間 (実時間 秒) 所要時間 (user秒) システム OS CPU クロック メモリー ストレージ 8.470 11.582 Core-i5 8400上のVM Ubuntu22.04 i5 8400 @2.8GHz 4Core割り当て 4GB割り当て SSD 3.647 11.644 Core-i5 8400上のVM Ubuntu22.04 i5 8400 @2.8GHz 4Core割り当て 4GB割り当て SSD make -j 4
- なんと、驚愕の新事実
- Windows上のLinux VMは、同じCPUを使用したLinux機の半分の速度しか出ない。・・・(なんで???)
所要時間 (実時間 秒) 所要時間 (user秒) システム OS CPU クロック メモリー ストレージ 1.565 5.217 Core-i5 8400上のLinux Container Ubuntu20.04 i5 8400 @2.8GHz 16GB SSD make -j 4
- Windows上のLinux VMは、同じCPUを使用したLinux機の半分の速度しか出ない。・・・(なんで???)
本日の結論†
- これ
所要時間 (実時間 秒) 所要時間 (user秒) システム OS CPU クロック メモリー ストレージ 2.827 9.400 TENKU NUC Ubuntu20.04 N5015 @2GHz 4Core 16GB 480GB SSD make -j 4 1.565 5.217 Core-i5 8400上のLinux Container Ubuntu20.04 i5 8400 @2.8GHz 16GB SSD make -j 4