NanoPi NEO2ベンチマーク

NanoPi NEO2 6
左が新しく届いたNanoPi NEO2、右側がNanoPi NEO(無印)

前の記事では開封しただけだったがNanoPi NEO無印と並べて比べてみた。意外なところで、ネットワークのコネクタの上下が反対になっていた。NEO2ではストッパーの爪が上向き。
また、microSDカードのスロットのコストを抑えたのかバネ式ではなくただの差し込み式に変わっている。一度深く差し込んで固定、もう一度深く差し込むと取り出せるバネ式は壊れやすくはあるけど振動には強い。NEO2のは壊れにくくても振動を与え続けるとmicroSDカード抜けちゃうという点、この手のシングルボードコンピュータ用としてはどうかなと思う。テープで貼って抜けないようにするか。

動かしてみた。

使用したOSはarmbianのサイトでイメージファイルが配布されていたUbuntu XenialのNightly releases。NanoPi NEO2用のレガシーカーネル版は3月30日時点では配布されているイメージファイルは存在しなかった。

$ uname -a
Linux nanopineo2 4.10.0-sun50iw2 #19 SMP Wed Mar 29 03:39:20 CEST 2017 aarch64 aarch64 aarch64 GNU/Linux
# cat /proc/cpuinfo
processor	: 0
Processor	: AArch64 Processor rev 4 (aarch64)
Hardware	: sun50iw1p1
BogoMIPS	: 48.00
Features	: fp asimd evtstrm aes pmull sha1 sha2 crc32 cpuid
CPU implementer	: 0x41
CPU architecture: 8
CPU variant	: 0x0
CPU part	: 0xd03
CPU revision	: 4

processor	: 1
Processor	: AArch64 Processor rev 4 (aarch64)
Hardware	: sun50iw1p1
BogoMIPS	: 48.00
Features	: fp asimd evtstrm aes pmull sha1 sha2 crc32 cpuid
CPU implementer	: 0x41
CPU architecture: 8
CPU variant	: 0x0
CPU part	: 0xd03
CPU revision	: 4

processor	: 2
Processor	: AArch64 Processor rev 4 (aarch64)
Hardware	: sun50iw1p1
BogoMIPS	: 48.00
Features	: fp asimd evtstrm aes pmull sha1 sha2 crc32 cpuid
CPU implementer	: 0x41
CPU architecture: 8
CPU variant	: 0x0
CPU part	: 0xd03
CPU revision	: 4

processor	: 3
Processor	: AArch64 Processor rev 4 (aarch64)
Hardware	: sun50iw1p1
BogoMIPS	: 48.00
Features	: fp asimd evtstrm aes pmull sha1 sha2 crc32 cpuid
CPU implementer	: 0x41
CPU architecture: 8
CPU variant	: 0x0
CPU part	: 0xd03
CPU revision	: 4

cpuinfoの内容はNanoPi NEO(無印)と比べてむしろまともになった。

本題でNanoPi NEO2のベンチマークを取ってみた。

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

   System: nanopineo2: GNU/Linux
   OS: GNU/Linux -- 4.10.0-sun50iw2 -- #19 SMP Wed Mar 29 03:39:20 CEST 2017
   Machine: aarch64 (aarch64)
   Language: en_US.utf8 (charmap="UTF-8", collate="UTF-8")
   05:29:42 up 23 min,  1 user,  load average: 0.15, 0.03, 0.01; runlevel 5

------------------------------------------------------------------------
Benchmark Run: Thu Mar 30 2017 05:29:42 - 05:58:22
0 CPUs in system; running 1 parallel copy of tests

Dhrystone 2 using register variables        4305348.7 lps   (10.0 s, 7 samples)
Double-Precision Whetstone                      757.2 MWIPS (10.0 s, 7 samples)
Execl Throughput                               1018.7 lps   (29.8 s, 2 samples)
File Copy 1024 bufsize 2000 maxblocks        127571.1 KBps  (30.0 s, 2 samples)
File Copy 256 bufsize 500 maxblocks           39044.1 KBps  (30.0 s, 2 samples)
File Copy 4096 bufsize 8000 maxblocks        294973.7 KBps  (30.0 s, 2 samples)
Pipe Throughput                              343244.7 lps   (10.0 s, 7 samples)
Pipe-based Context Switching                  49034.8 lps   (10.0 s, 7 samples)
Process Creation                               2552.6 lps   (30.0 s, 2 samples)
Shell Scripts (1 concurrent)                   1855.0 lpm   (60.0 s, 2 samples)
Shell Scripts (8 concurrent)                    566.0 lpm   (60.1 s, 2 samples)
System Call Overhead                         652966.5 lps   (10.0 s, 7 samples)

System Benchmarks Index Values               BASELINE       RESULT    INDEX
Dhrystone 2 using register variables         116700.0    4305348.7    368.9
Double-Precision Whetstone                       55.0        757.2    137.7
Execl Throughput                                 43.0       1018.7    236.9
File Copy 1024 bufsize 2000 maxblocks          3960.0     127571.1    322.1
File Copy 256 bufsize 500 maxblocks            1655.0      39044.1    235.9
File Copy 4096 bufsize 8000 maxblocks          5800.0     294973.7    508.6
Pipe Throughput                               12440.0     343244.7    275.9
Pipe-based Context Switching                   4000.0      49034.8    122.6
Process Creation                                126.0       2552.6    202.6
Shell Scripts (1 concurrent)                     42.4       1855.0    437.5
Shell Scripts (8 concurrent)                      6.0        566.0    943.3
System Call Overhead                          15000.0     652966.5    435.3
                                                                   ========
System Benchmarks Index Score                                         301.9

------------------------------------------------------------------------
Benchmark Run: Thu Mar 30 2017 05:58:22 - 06:27:24
0 CPUs in system; running 4 parallel copies of tests

Dhrystone 2 using register variables       17213507.3 lps   (10.0 s, 7 samples)
Double-Precision Whetstone                     3027.8 MWIPS (10.0 s, 7 samples)
Execl Throughput                               2493.6 lps   (29.9 s, 2 samples)
File Copy 1024 bufsize 2000 maxblocks        211654.8 KBps  (30.0 s, 2 samples)
File Copy 256 bufsize 500 maxblocks           60859.5 KBps  (30.0 s, 2 samples)
File Copy 4096 bufsize 8000 maxblocks        578036.5 KBps  (30.0 s, 2 samples)
Pipe Throughput                             1363863.5 lps   (10.0 s, 7 samples)
Pipe-based Context Switching                 185178.3 lps   (10.0 s, 7 samples)
Process Creation                               6086.3 lps   (30.0 s, 2 samples)
Shell Scripts (1 concurrent)                   4448.5 lpm   (60.0 s, 2 samples)
Shell Scripts (8 concurrent)                    577.2 lpm   (60.3 s, 2 samples)
System Call Overhead                        2485418.6 lps   (10.0 s, 7 samples)

System Benchmarks Index Values               BASELINE       RESULT    INDEX
Dhrystone 2 using register variables         116700.0   17213507.3   1475.0
Double-Precision Whetstone                       55.0       3027.8    550.5
Execl Throughput                                 43.0       2493.6    579.9
File Copy 1024 bufsize 2000 maxblocks          3960.0     211654.8    534.5
File Copy 256 bufsize 500 maxblocks            1655.0      60859.5    367.7
File Copy 4096 bufsize 8000 maxblocks          5800.0     578036.5    996.6
Pipe Throughput                               12440.0    1363863.5   1096.4
Pipe-based Context Switching                   4000.0     185178.3    462.9
Process Creation                                126.0       6086.3    483.0
Shell Scripts (1 concurrent)                     42.4       4448.5   1049.2
Shell Scripts (8 concurrent)                      6.0        577.2    962.0
System Call Overhead                          15000.0    2485418.6   1656.9
                                                                   ========
System Benchmarks Index Score                                         761.2

今回の計測時のCPUクロックがちょっとわからない。/sys/devices/systemの下にそれらしきものが無いんだけど何処で情報を得ることができるんだろ。
クロック表示以外もNightly releasesということもあるのか、そもそもNanoPi NEO2への適応が足りないのかあちこち不完全さが目立つ。
取り敢えず、今回は情報不足ではあるけどご了承の程を。

NanoPi NEOベンチマークではCPUクロックが912MHz(初期値)で計測してインデックススコアがシングル164.1、4パラレルが429.0だった。
それと比べるとスコア的にはNEO2はシングルで183%、同じく4パラレルで177%ということになる。
実際、NEO無印と比べるとNEO2は体感できるほど反応が速いというか軽いからスコアの差は嘘ではないと思う。
見た目はほぼ同じだけどまるで別物。まぁ、実際SoCがピン互換ってだけで別物なんだけど。

あの白いので例えるとMkIIくらいを期待してたらZを飛び越してZZが来ちゃったくらい。(実はよく知らない)

関連記事: