NanoPi NEO2ベンチマーク (公式イメージで)

NanoPi NEO2

NanoPi NEO(無印)とNanoPi NEO2のOSとしてこれまでずっとarmbianを使っていた。
でも、新機種で高性能なNanoPi NEO2用の方(というかSoCがH5なボード)が2017年6月上旬のLinuxカーネルバージョンアップ以降?にStableから外されてしまって普通にはどうしてよいやらになっている。ソースからビルドもできないし。ソースツリーを真っさらからやり直したらビルド出来たスンマセン
とりあえずarmbianのNanoPi NEO2用のイメージファイルを入手したければhttps://dl.armbian.com/nanopineo2/にまだ残ってはいる。Ubuntu Xenialのnightly版は何故か最終更新日2017年7月3日という1ヶ月ほど新しいのもある。(試してないのでビルド日は不明)

元々armbianのNanoPi NEO2用はあちこち未完成感の高いものだったけど開発が進むどころかハブンチョされるというのはガッカリ。

そこでというか、そういえばFriendlyElecが提供している公式のOSイメージファイルって使ったことがないやっていうことで今更ながら試してみた。

 _____     _                _ _       _____ _     _____ ____ 
|  ___| __(_) ___ _ __   __| | |_   _| ____| |   | ____/ ___|
| |_ | '__| |/ _ \ '_ \ / _` | | | | |  _| | |   |  _|| |    
|  _|| |  | |  __/ | | | (_| | | |_| | |___| |___| |__| |___ 
|_|  |_|  |_|\___|_| |_|\__,_|_|\__, |_____|_____|_____\____|
                                |___/

Welcome to Ubuntu core 16.04 LTS 4.11.2
System load:   0.43             Up time:       2 min            Local users:   2
Memory usage:  7 % of 482Mb     IP:            192.168.0.***
CPU temp:      25°C       
Usage of /:    8% of 15G

 * Documentation: http://wiki.friendlyarm.com/
 * Forum: http://www.friendlyarm.com/Forum/

結局Ubuntuなのね。

UNIX Benchは流石に公式はCPU全力稼働するだろうから期待できるかも。

========================================================================
   BYTE UNIX Benchmarks (Version 5.1.3)

   System: NanoPi-NEO2: GNU/Linux
   OS: GNU/Linux -- 4.11.2 -- #267 SMP Fri Jun 30 12:03:20 CST 2017
   Machine: aarch64 (aarch64)
   Language: en_US.utf8 (charmap="UTF-8", collate="UTF-8")
   00:53:51 up 16 min,  3 users,  load average: 0.77, 0.50, 0.30; runlevel 5

------------------------------------------------------------------------
Benchmark Run: Sat Jul 22 2017 00:53:51 - 01:23:03
0 CPUs in system; running 1 parallel copy of tests

Dhrystone 2 using register variables        5197615.6 lps   (10.0 s, 7 samples)
Double-Precision Whetstone                      933.7 MWIPS (10.0 s, 7 samples)
Execl Throughput                               1197.6 lps   (29.9 s, 2 samples)
File Copy 1024 bufsize 2000 maxblocks        159672.7 KBps  (30.0 s, 2 samples)
File Copy 256 bufsize 500 maxblocks           50291.6 KBps  (30.0 s, 2 samples)
File Copy 4096 bufsize 8000 maxblocks        339456.5 KBps  (30.0 s, 2 samples)
Pipe Throughput                              402134.5 lps   (10.0 s, 7 samples)
Pipe-based Context Switching                  43773.6 lps   (10.0 s, 7 samples)
Process Creation                               1088.5 lps   (30.0 s, 2 samples)
Shell Scripts (1 concurrent)                   1212.6 lpm   (60.0 s, 2 samples)
Shell Scripts (8 concurrent)                    632.0 lpm   (60.0 s, 2 samples)
System Call Overhead                         794069.1 lps   (10.0 s, 7 samples)

System Benchmarks Index Values               BASELINE       RESULT    INDEX
Dhrystone 2 using register variables         116700.0    5197615.6    445.4
Double-Precision Whetstone                       55.0        933.7    169.8
Execl Throughput                                 43.0       1197.6    278.5
File Copy 1024 bufsize 2000 maxblocks          3960.0     159672.7    403.2
File Copy 256 bufsize 500 maxblocks            1655.0      50291.6    303.9
File Copy 4096 bufsize 8000 maxblocks          5800.0     339456.5    585.3
Pipe Throughput                               12440.0     402134.5    323.3
Pipe-based Context Switching                   4000.0      43773.6    109.4
Process Creation                                126.0       1088.5     86.4
Shell Scripts (1 concurrent)                     42.4       1212.6    286.0
Shell Scripts (8 concurrent)                      6.0        632.0   1053.3
System Call Overhead                          15000.0     794069.1    529.4
                                                                   ========
System Benchmarks Index Score                                         308.3

------------------------------------------------------------------------
Benchmark Run: Sat Jul 22 2017 01:23:03 - 01:52:39
0 CPUs in system; running 4 parallel copies of tests

Dhrystone 2 using register variables       20874531.0 lps   (10.0 s, 7 samples)
Double-Precision Whetstone                     3735.6 MWIPS (10.0 s, 7 samples)
Execl Throughput                               2746.8 lps   (29.9 s, 2 samples)
File Copy 1024 bufsize 2000 maxblocks        251472.3 KBps  (30.0 s, 2 samples)
File Copy 256 bufsize 500 maxblocks           76334.4 KBps  (30.0 s, 2 samples)
File Copy 4096 bufsize 8000 maxblocks        653640.1 KBps  (30.0 s, 2 samples)
Pipe Throughput                             1614113.6 lps   (10.0 s, 7 samples)
Pipe-based Context Switching                 204105.5 lps   (10.0 s, 7 samples)
Process Creation                               6616.9 lps   (30.0 s, 2 samples)
Shell Scripts (1 concurrent)                   4910.2 lpm   (60.1 s, 2 samples)
Shell Scripts (8 concurrent)                    662.5 lpm   (60.3 s, 2 samples)
System Call Overhead                        3002506.2 lps   (10.0 s, 7 samples)

System Benchmarks Index Values               BASELINE       RESULT    INDEX
Dhrystone 2 using register variables         116700.0   20874531.0   1788.7
Double-Precision Whetstone                       55.0       3735.6    679.2
Execl Throughput                                 43.0       2746.8    638.8
File Copy 1024 bufsize 2000 maxblocks          3960.0     251472.3    635.0
File Copy 256 bufsize 500 maxblocks            1655.0      76334.4    461.2
File Copy 4096 bufsize 8000 maxblocks          5800.0     653640.1   1127.0
Pipe Throughput                               12440.0    1614113.6   1297.5
Pipe-based Context Switching                   4000.0     204105.5    510.3
Process Creation                                126.0       6616.9    525.2
Shell Scripts (1 concurrent)                     42.4       4910.2   1158.1
Shell Scripts (8 concurrent)                      6.0        662.5   1104.1
System Call Overhead                          15000.0    3002506.2   2001.7
                                                                   ========
System Benchmarks Index Score                                         884.1

armbianでおそらくCPUが1008MHzで動いていたと推測される前々回のインデックススコアで、シングルが301.9、4パラレルが761.2なので今回はそれぞれ102%、116%と良好。

ところで、今回の計測時のCPUのクロックはどうなってるだろう。

# cat /sys/devices/system/cpu/cpu0/cpufreq/scaling_available_frequencies
120000 240000 312000 480000 624000 816000 1008000

利用可能な(切替可能な)クロックは上のとおり。(他CPU1〜3も同様)
アレっ?、期待に反して上限1GHz止まりじゃんよ。

/sys/devices/system/cpu/cpu?/cpufreq/の下のscaling_min_freq(最小), scaling_cur_freq(現在), scaling_max_freq(最大)をみると最小が120MHz,最大が1008MHz, 現在が頻繁に変わって120 or 240MHz(CPUがヒマな時)となることから一応正常に機能していると判断すると計測時は最大の1008MHzで動いていたと思われる。

NanoPi NEO2のスペック friendlyarm.comにはNanoPi NEO2のCPUの最大動作周波数は1.5Ghzと書かれているんだけど実際に使われる最大が1GHzに抑えられるのは何でだぜ?

関連記事: