Orange Pi Zero と UnixBench ()

前回書いた Orange Pi PC2 という 64 ビットのシングルボードコンピュータと同時期(2016年11月)に発売された Orange Pi Zero を入手しました。 Orange Pi Zero にはメモリが 256MB ($6.99) と 512MB ($8.99) のバージョンがあります。 今回は Orange Pi Zero(512MB) と 拡張ボード、ケース付きのセットを AliExpress から購入しました。 送料込みで2055円でした。今確認してみると 2030円なので、為替レートで微妙に変化しています。 発注が 2017/02/13、到着が 2017/02/23 でした。 送られてきたセットには次の写真の内容が入っていました。ケースのサイズは幅 52mm x 奥行き 56mm x 高さ 37mm というコンパクトなものです。拡張ボードには USB Type A が2ポート、赤外線受光部、マイク、音声出力が付いています。



Orange Pi ZeroRaspberry Pi Zero より、4 コアの ARM Cortex-A7、有線LANのポート、USB Type A のポートを持つなど、むしろRaspberry Pi 2 Model B に近い機種になっています。

Orange Pi Zero(上) のサイズは、ほぼ 5 センチの正方形で Orange Pi PC2 (下) よりかなり小さい印象です。 ボードの仕様をRaspberry Pi 2、Orange Pi Zero、Orange Pi PC2 で比べてみます。

ボード Raspberry Pi2Orange Pi ZeroOrange Pi PC2
チップ名称 BCM2836Allwinner H2Allwinner H5
アーキテクチャ ARMv7 ARMv7ARMv8
命令セット AArch32AArch32AArch32 + AArch64
コア名称 Cortex-A7 Cortex-A7 Cortex-A53
コア数 4 4 4
浮動小数点演算 VFPv4 + NEON VFPv4 + NEON VFPv4 + NEON
クロック 900MHz 1200MHz1008MHz
メモリ 1GB 256MB, 512MB 1GB
GPU VideoCore IVMali400MP26-core Mali450
microSD slot 1 1 1
USB 2 4 1 3
Ethernet 100M100M100M/1000M
Wifi -802.11n 2.4GHz-
Bluetooth ---

Passive PoE

Orange Pi Zero は LANケーブル に電源用の電力を供給する PoE (Power over Ethernet) を使うことができるようです。 このページに使い方の簡単な説明があります。 LANケーブルの RJ-45 コネクタの 4/5 ピンに 5V が供給され R29 を経由し、7/8 ピンはグラウンド(0V) で R358 を経由するようです。 R29 のはんだがのる部分 (写真の上) を接続(ショート)し、R358 (写真の下) を接続すると使えるようになるそうです。 PoE 対応のハブを使って、4m 以内ならば電源用のケーブルを接続しないでも、LANケーブル 1 本で使えるようになるらしい。 そのうち試してみよう。



ケース

ケースは小さいため、基板を入れるのに苦労しました。下の写真のように拡張基板を先にビスで固定して、GPIOのピンを挿入するように Orange Pi Zero を固定します。



インターフェイスの位置です。 左の写真の下にマイクロ SD カードが見えますが、出し入れはちょっときついです。ちょっと削った方が良さそうです。



USB 充電器を繋いでみました。 こうやって見ると電源も内蔵して100Vのコンセントに直接挿せると便利そうですが、PSEマークの問題が出てくるので無理ですね。



Armbian (Ubuntu 16.04.1) のインストール

公式のダウンロードページには、Ubuntu、Debian などの OS のイメージがおいてありますが、 今回は活発に開発が進んでいるコミュニティベースの OS である armbian を試してみます。 Orange Pi Zero 用の Armbian (Armbian_5.25_Orangepizero_Ubuntu_xenial_default_3.4.113.7z) をダウンロードしました。

Raspberry Pi と同じようにイメージファイルを解凍して、SDカードに書き込んで、SDカードをセットして電源を入れるだけで Ubuntu が起動します。

いつものようにMacBook Pro で作業しますが、7z 形式の展開には Keka を使いました。

イメージをSDカードに書き込み

$ ls -l Armbian_5.25_Orangepizero_Ubuntu_xenial_default_3.4.113.7z
-rw-r--r--@ 1 jun  staff  224283048  2 26 00:07 Armbian_5.25_Orangepizero_Ubuntu_xenial_default_3.4.113.7z

解凍すると次のようなファイルができます。 イメージファイルは1.5GB程度のファイルです。

Armbian_5.25_Orangepizero_Ubuntu_xenial_default_3.4.113.img.asc        819
armbian.txt.asc                                                        819
sha256sum.sha                                                          126
Armbian_5.25_Orangepizero_Ubuntu_xenial_default_3.4.113.img     1468006400
armbian.txt                                                          18584

sha256sum.sha の内容と一致するかどうか、shasum コマンドで確認しました。 sha-256 なのでオプションを指定する必要があります。

$ shasum -a 256 Armbian_5.25_Orangepizero_Ubuntu_xenial_default_3.4.113.img
6f5a1852fe44d26c7247bbcd28f2c1c74d0554c0d464c042bfb14f7c550be678  Armbian_5.25_Orangepizero_Ubuntu_xenial_default_3.4.113.img

4GB のSDカードにディスクイメージは収まりますが、アプリケーションを追加してインストールしたり、作業領域に使うことを考えて 16GB のSDカードを使いました。 私の場合、SDカードのデバイスファイルは /dev/disk1 でした。 速いSDカードの効果が出ているようです。

$ diskutil unmount /dev/disk1s1
Volume NO NAME on disk1s1 unmounted

$ sudo time dd bs=1m if=Armbian_5.25_Orangepizero_Ubuntu_xenial_default_3.4.113.img of=/dev/rdisk1
1400+0 records in
1400+0 records out
1468006400 bytes transferred in 105.950511 secs (13855586 bytes/sec)
      105.95 real         0.00 user         0.68 sys

起動

電源を入れてしばらくすると有線 LAN 経由で ssh を使って接続できるようになります。 最初の起動は、領域の拡張が自動で行われるようで、一度再起動しているようです。 LEDの点滅が落ち着きまで待ちましょう。 Orange Pi Zero に ssh で接続するためには、 Orange Pi Zero の IP アドレスが必要ですが、画面がないので確認できません。 DHCP サーバが、Orange Pi Zero にリースする IP アドレスを、起動前にルータの 管理画面からリース済みのアドレスを確認しておいて、起動後に増えたIPアドレスを 確認しましょう。

ssh で接続すると、次のようなログイン画面となります。 ユーザは「root」、パスワードは「1234」でログインできます。



すぐにパスワードを変更させられます。 必ず初期パスワードから変更しておきましょう。

ユーザ作成

最初に起動したあと、ネットワーク越しにも操作ができるように、最初に root 以外のユーザアカウントを追加します。 以下の例では「user_name」というユーザアカウントを作成しています

# adduser user_name
Adding user `user_name' ...
Adding new group `user_name' (1000) ...
Adding new user `user_name' (1000) with group `user_name' ...
Creating home directory `/home/user_name' ...
Copying files from `/etc/skel' ...
Enter new UNIX password: パスワード入力
Retype new UNIX password: パスワード入力
passwd: password updated successfully
Changing the user information for user_name
Enter the new value, or press ENTER for the default
        Full Name []: 以下はリターンキーだけでOK
        Room Number []: 
        Work Phone []: 
        Home Phone []: 
        Other []: 
Is the information correct? [Y/n] Y

管理者権限でコマンドが使用できるように作成したユーザを sudo グループに追加します。

# gpasswd -a user_name sudo
Adding user user_name to group sudo

以上で別のPCから 「ssh -l user_name IPアドレス」でネットワーク越しに Orange Pi Zero の操作できるようになります。

ベンチマーク

今回は、まず UnixBench で性能を見てみます。 UnixBench の公式サイトは最近 GitHub に移っているので、 git コマンドを使って入手します。

$ git clone https://github.com/kdlucas/byte-unixbench.git
Cloning into 'byte-unixbench'...
remote: Counting objects: 161, done.
remote: Total 161 (delta 0), reused 0 (delta 0), pack-reused 161
Receiving objects: 100% (161/161), 184.53 KiB | 132.00 KiB/s, done.
Resolving deltas: 100% (74/74), done.
Checking connectivity... done.

あとは入手したディレクトリに移動して ./Run を実行するとコンパイルと実行が始まります。 コンパイルはすぐに終わりますが、 1コアと4コアでベンチマークを実行すると1時間程度かかります。

$ cd byte-unixbench/UnixBench
$ ./Run 

UnixBench の実行中のCPU温度とCPUクロックはどの機種も以下のコマンドで確認できます。

cat /sys/class/thermal/thermal_zone0/temp
cat /sys/devices/system/cpu/cpu0/cpufreq/scaling_cur_freq

Orange Pi Zero ケース内ヒートシンク無し

ケースに入れて UnixBench を実行しました。温度が70℃に近づくとクロックが 1200MHz から 768MHz まで落ちます。 負荷をかけるときは冷却が必要です。

BYTE UNIX Benchmarks (Version 5.1.3)

System: orangepizero: GNU/Linux
OS: GNU/Linux -- 3.4.113-sun8i -- #28 SMP PREEMPT Thu Feb 2 02:01:28 CET 2017
Machine: armv7l (armv7l)
Language: en_US.utf8 (charmap="UTF-8", collate="UTF-8")
16:03:59 up  2:24,  1 user,  load average: 0.10, 0.09, 0.11; runlevel 2017-02-23

------------------------------------------------------------------------
Benchmark Run: Thu Feb 23 2017 16:03:59 - 16:32:21
4 CPUs in system; running 1 parallel copy of tests

Dhrystone 2 using register variables        4483818.9 lps   (10.0 s, 7 samples)
Double-Precision Whetstone                      770.5 MWIPS (10.0 s, 7 samples)
Execl Throughput                                272.4 lps   (29.9 s, 2 samples)
File Copy 1024 bufsize 2000 maxblocks         89921.9 KBps  (30.0 s, 2 samples)
File Copy 256 bufsize 500 maxblocks           27046.8 KBps  (30.0 s, 2 samples)
File Copy 4096 bufsize 8000 maxblocks        193446.5 KBps  (30.0 s, 2 samples)
Pipe Throughput                              229353.4 lps   (10.0 s, 7 samples)
Pipe-based Context Switching                  24162.6 lps   (10.0 s, 7 samples)
Process Creation                                854.5 lps   (30.0 s, 2 samples)
Shell Scripts (1 concurrent)                   1247.8 lpm   (60.1 s, 2 samples)
Shell Scripts (8 concurrent)                    327.0 lpm   (60.1 s, 2 samples)
System Call Overhead                         654461.7 lps   (10.0 s, 7 samples)

System Benchmarks Index Values               BASELINE       RESULT    INDEX
Dhrystone 2 using register variables         116700.0    4483818.9    384.2
Double-Precision Whetstone                       55.0        770.5    140.1
Execl Throughput                                 43.0        272.4     63.4
File Copy 1024 bufsize 2000 maxblocks          3960.0      89921.9    227.1
File Copy 256 bufsize 500 maxblocks            1655.0      27046.8    163.4
File Copy 4096 bufsize 8000 maxblocks          5800.0     193446.5    333.5
Pipe Throughput                               12440.0     229353.4    184.4
Pipe-based Context Switching                   4000.0      24162.6     60.4
Process Creation                                126.0        854.5     67.8
Shell Scripts (1 concurrent)                     42.4       1247.8    294.3
Shell Scripts (8 concurrent)                      6.0        327.0    545.0
System Call Overhead                          15000.0     654461.7    436.3
                                                                   ========
System Benchmarks Index Score                                         190.1

------------------------------------------------------------------------
Benchmark Run: Thu Feb 23 2017 16:32:21 - 17:01:02
4 CPUs in system; running 4 parallel copies of tests

Dhrystone 2 using register variables       11888641.0 lps   (10.0 s, 7 samples)
Double-Precision Whetstone                     2093.6 MWIPS (10.4 s, 7 samples)
Execl Throughput                               1217.3 lps   (29.7 s, 2 samples)
File Copy 1024 bufsize 2000 maxblocks         98632.0 KBps  (30.0 s, 2 samples)
File Copy 256 bufsize 500 maxblocks           33329.3 KBps  (30.0 s, 2 samples)
File Copy 4096 bufsize 8000 maxblocks        271579.9 KBps  (30.0 s, 2 samples)
Pipe Throughput                              734092.6 lps   (10.0 s, 7 samples)
Pipe-based Context Switching                  94036.3 lps   (10.0 s, 7 samples)
Process Creation                               3726.4 lps   (30.0 s, 2 samples)
Shell Scripts (1 concurrent)                   2644.9 lpm   (60.1 s, 2 samples)
Shell Scripts (8 concurrent)                    341.7 lpm   (60.4 s, 2 samples)
System Call Overhead                        2016541.5 lps   (10.0 s, 7 samples)

System Benchmarks Index Values               BASELINE       RESULT    INDEX
Dhrystone 2 using register variables         116700.0   11888641.0   1018.7
Double-Precision Whetstone                       55.0       2093.6    380.7
Execl Throughput                                 43.0       1217.3    283.1
File Copy 1024 bufsize 2000 maxblocks          3960.0      98632.0    249.1
File Copy 256 bufsize 500 maxblocks            1655.0      33329.3    201.4
File Copy 4096 bufsize 8000 maxblocks          5800.0     271579.9    468.2
Pipe Throughput                               12440.0     734092.6    590.1
Pipe-based Context Switching                   4000.0      94036.3    235.1
Process Creation                                126.0       3726.4    295.7
Shell Scripts (1 concurrent)                     42.4       2644.9    623.8
Shell Scripts (8 concurrent)                      6.0        341.7    569.5
System Call Overhead                          15000.0    2016541.5   1344.4
                                                                   ========
System Benchmarks Index Score                                         438.5

Orange Pi Zero ケース無しヒートシンク有り

下の写真のようにヒートシンクを付けて室温22℃ほどの部屋で UnixBench を実行しました。 高負荷のときでもほぼ60℃以内になりました。クロックは、ほぼ MAXの 1200MHz で安定していました。



BYTE UNIX Benchmarks (Version 5.1.3)

System: orangepizero: GNU/Linux
OS: GNU/Linux -- 3.4.113-sun8i -- #28 SMP PREEMPT Thu Feb 2 02:01:28 CET 2017
Machine: armv7l (armv7l)
Language: en_US.utf8 (charmap="UTF-8", collate="UTF-8")
12:05:47 up  3:22,  2 users,  load average: 0.03, 0.55, 2.66; runlevel 2017-02-24

------------------------------------------------------------------------
Benchmark Run: Fri Feb 24 2017 12:05:47 - 12:34:07
4 CPUs in system; running 1 parallel copy of tests

Dhrystone 2 using register variables        4484171.6 lps   (10.0 s, 7 samples)
Double-Precision Whetstone                      771.0 MWIPS (10.0 s, 7 samples)
Execl Throughput                                295.6 lps   (29.7 s, 2 samples)
File Copy 1024 bufsize 2000 maxblocks         91843.9 KBps  (30.0 s, 2 samples)
File Copy 256 bufsize 500 maxblocks           28824.8 KBps  (30.0 s, 2 samples)
File Copy 4096 bufsize 8000 maxblocks        208219.8 KBps  (30.0 s, 2 samples)
Pipe Throughput                              242546.4 lps   (10.0 s, 7 samples)
Pipe-based Context Switching                  25333.2 lps   (10.0 s, 7 samples)
Process Creation                                532.2 lps   (30.0 s, 2 samples)
Shell Scripts (1 concurrent)                   1295.6 lpm   (60.1 s, 2 samples)
Shell Scripts (8 concurrent)                    392.9 lpm   (60.2 s, 2 samples)
System Call Overhead                         678904.3 lps   (10.0 s, 7 samples)

System Benchmarks Index Values               BASELINE       RESULT    INDEX
Dhrystone 2 using register variables         116700.0    4484171.6    384.2
Double-Precision Whetstone                       55.0        771.0    140.2
Execl Throughput                                 43.0        295.6     68.7
File Copy 1024 bufsize 2000 maxblocks          3960.0      91843.9    231.9
File Copy 256 bufsize 500 maxblocks            1655.0      28824.8    174.2
File Copy 4096 bufsize 8000 maxblocks          5800.0     208219.8    359.0
Pipe Throughput                               12440.0     242546.4    195.0
Pipe-based Context Switching                   4000.0      25333.2     63.3
Process Creation                                126.0        532.2     42.2
Shell Scripts (1 concurrent)                     42.4       1295.6    305.6
Shell Scripts (8 concurrent)                      6.0        392.9    654.8
System Call Overhead                          15000.0     678904.3    452.6
                                                                   ========
System Benchmarks Index Score                                         192.2

------------------------------------------------------------------------
Benchmark Run: Fri Feb 24 2017 12:34:07 - 13:02:42
4 CPUs in system; running 4 parallel copies of tests

Dhrystone 2 using register variables       17781257.7 lps   (10.0 s, 7 samples)
Double-Precision Whetstone                     2958.9 MWIPS (10.4 s, 7 samples)
Execl Throughput                               1456.9 lps   (29.9 s, 2 samples)
File Copy 1024 bufsize 2000 maxblocks        146400.9 KBps  (30.1 s, 2 samples)
File Copy 256 bufsize 500 maxblocks           42769.5 KBps  (30.0 s, 2 samples)
File Copy 4096 bufsize 8000 maxblocks        316030.5 KBps  (30.2 s, 2 samples)
Pipe Throughput                              973136.6 lps   (10.0 s, 7 samples)
Pipe-based Context Switching                 122452.1 lps   (10.0 s, 7 samples)
Process Creation                               4180.8 lps   (30.0 s, 2 samples)
Shell Scripts (1 concurrent)                   3139.0 lpm   (60.1 s, 2 samples)
Shell Scripts (8 concurrent)                    415.1 lpm   (60.3 s, 2 samples)
System Call Overhead                        2602653.7 lps   (10.0 s, 7 samples)

System Benchmarks Index Values               BASELINE       RESULT    INDEX
Dhrystone 2 using register variables         116700.0   17781257.7   1523.7
Double-Precision Whetstone                       55.0       2958.9    538.0
Execl Throughput                                 43.0       1456.9    338.8
File Copy 1024 bufsize 2000 maxblocks          3960.0     146400.9    369.7
File Copy 256 bufsize 500 maxblocks            1655.0      42769.5    258.4
File Copy 4096 bufsize 8000 maxblocks          5800.0     316030.5    544.9
Pipe Throughput                               12440.0     973136.6    782.3
Pipe-based Context Switching                   4000.0     122452.1    306.1
Process Creation                                126.0       4180.8    331.8
Shell Scripts (1 concurrent)                     42.4       3139.0    740.3
Shell Scripts (8 concurrent)                      6.0        415.1    691.8
System Call Overhead                          15000.0    2602653.7   1735.1
                                                                   ========
System Benchmarks Index Score                                         563.3

Orange Pi PC2 ケース内ヒートシンク無し

ケースに入れてヒートシンク無しの Orange Pi PC2 では、高負荷のときは 80 - 90℃ くらいまで温度が上がりました。 クロックは、ほぼ 1080MHz をMAXで安定していました。 負荷をかけるときは冷却が必要ですね。

BYTE UNIX Benchmarks (Version 5.1.3)

System: Orangepi: GNU/Linux
OS: GNU/Linux -- 3.10.65 -- #55 SMP PREEMPT Fri Nov 18 16:17:28 CST 2016
Machine: aarch64 (aarch64)
Language: en_US.utf8 (charmap="UTF-8", collate="UTF-8")
12:00:51 up  3:17,  2 users,  load average: 1.12, 4.15, 6.06; runlevel 2017-02-23

------------------------------------------------------------------------
Benchmark Run: Fri Feb 24 2017 12:00:51 - 12:29:13
4 CPUs in system; running 1 parallel copy of tests

Dhrystone 2 using register variables        5341904.8 lps   (10.0 s, 7 samples)
Double-Precision Whetstone                      935.7 MWIPS (10.0 s, 7 samples)
Execl Throughput                                416.5 lps   (29.9 s, 2 samples)
File Copy 1024 bufsize 2000 maxblocks        102828.9 KBps  (30.0 s, 2 samples)
File Copy 256 bufsize 500 maxblocks           29877.5 KBps  (30.0 s, 2 samples)
File Copy 4096 bufsize 8000 maxblocks        274191.0 KBps  (30.0 s, 2 samples)
Pipe Throughput                              239668.7 lps   (10.0 s, 7 samples)
Pipe-based Context Switching                  49610.6 lps   (10.0 s, 7 samples)
Process Creation                               1307.9 lps   (30.0 s, 2 samples)
Shell Scripts (1 concurrent)                   1565.5 lpm   (60.0 s, 2 samples)
Shell Scripts (8 concurrent)                    566.5 lpm   (60.1 s, 2 samples)
System Call Overhead                         620748.6 lps   (10.0 s, 7 samples)

System Benchmarks Index Values               BASELINE       RESULT    INDEX
Dhrystone 2 using register variables         116700.0    5341904.8    457.7
Double-Precision Whetstone                       55.0        935.7    170.1
Execl Throughput                                 43.0        416.5     96.8
File Copy 1024 bufsize 2000 maxblocks          3960.0     102828.9    259.7
File Copy 256 bufsize 500 maxblocks            1655.0      29877.5    180.5
File Copy 4096 bufsize 8000 maxblocks          5800.0     274191.0    472.7
Pipe Throughput                               12440.0     239668.7    192.7
Pipe-based Context Switching                   4000.0      49610.6    124.0
Process Creation                                126.0       1307.9    103.8
Shell Scripts (1 concurrent)                     42.4       1565.5    369.2
Shell Scripts (8 concurrent)                      6.0        566.5    944.1
System Call Overhead                          15000.0     620748.6    413.8
                                                                   ========
System Benchmarks Index Score                                         250.1

------------------------------------------------------------------------
Benchmark Run: Fri Feb 24 2017 12:29:13 - 12:58:02
4 CPUs in system; running 4 parallel copies of tests

Dhrystone 2 using register variables       21343945.1 lps   (10.0 s, 7 samples)
Double-Precision Whetstone                     3736.7 MWIPS (10.0 s, 7 samples)
Execl Throughput                               2320.1 lps   (29.9 s, 2 samples)
File Copy 1024 bufsize 2000 maxblocks        153683.0 KBps  (30.0 s, 2 samples)
File Copy 256 bufsize 500 maxblocks           37758.4 KBps  (30.0 s, 2 samples)
File Copy 4096 bufsize 8000 maxblocks        481532.7 KBps  (30.0 s, 2 samples)
Pipe Throughput                              955142.8 lps   (10.0 s, 7 samples)
Pipe-based Context Switching                 195669.3 lps   (10.0 s, 7 samples)
Process Creation                               6980.6 lps   (30.0 s, 2 samples)
Shell Scripts (1 concurrent)                   4580.1 lpm   (60.5 s, 2 samples)
Shell Scripts (8 concurrent)                    610.1 lpm   (60.3 s, 2 samples)
System Call Overhead                        2368475.3 lps   (10.0 s, 7 samples)

System Benchmarks Index Values               BASELINE       RESULT    INDEX
Dhrystone 2 using register variables         116700.0   21343945.1   1829.0
Double-Precision Whetstone                       55.0       3736.7    679.4
Execl Throughput                                 43.0       2320.1    539.6
File Copy 1024 bufsize 2000 maxblocks          3960.0     153683.0    388.1
File Copy 256 bufsize 500 maxblocks            1655.0      37758.4    228.1
File Copy 4096 bufsize 8000 maxblocks          5800.0     481532.7    830.2
Pipe Throughput                               12440.0     955142.8    767.8
Pipe-based Context Switching                   4000.0     195669.3    489.2
Process Creation                                126.0       6980.6    554.0
Shell Scripts (1 concurrent)                     42.4       4580.1   1080.2
Shell Scripts (8 concurrent)                      6.0        610.1   1016.9
System Call Overhead                          15000.0    2368475.3   1579.0
                                                                   ========
System Benchmarks Index Score                                         714.8

Raspberry Pi 2 model B ケース内ヒートシンク有り

オーバークロックしていないノーマルのRaspberry Pi 2は温度が40度ほどで安定しています。 クロックは、ほぼ 900MHz で安定しています。

BYTE UNIX Benchmarks (Version 5.1.3)

System: raspi_jessie: GNU/Linux
OS: GNU/Linux -- 4.1.18-v7+ -- #846 SMP Thu Feb 25 14:22:53 GMT 2016
Machine: armv7l (unknown)
Language: en_US.utf8 (charmap="UTF-8", collate="UTF-8")
CPU 0: ARMv7 Processor rev 5 (v7l) (0.0 bogomips)
CPU 1: ARMv7 Processor rev 5 (v7l) (0.0 bogomips)
CPU 2: ARMv7 Processor rev 5 (v7l) (0.0 bogomips)
CPU 3: ARMv7 Processor rev 5 (v7l) (0.0 bogomips)
00:57:32 up 4 min,  4 users,  load average: 0.44, 0.33, 0.17; runlevel 2017-02-25

------------------------------------------------------------------------
Benchmark Run: Sat Feb 25 2017 00:57:32 - 01:26:06
4 CPUs in system; running 1 parallel copy of tests

Dhrystone 2 using register variables        2051913.2 lps   (10.0 s, 7 samples)
Double-Precision Whetstone                      304.4 MWIPS (10.0 s, 7 samples)
Execl Throughput                                338.5 lps   (29.7 s, 2 samples)
File Copy 1024 bufsize 2000 maxblocks         55011.2 KBps  (30.1 s, 2 samples)
File Copy 256 bufsize 500 maxblocks           15190.7 KBps  (30.0 s, 2 samples)
File Copy 4096 bufsize 8000 maxblocks        144856.4 KBps  (30.0 s, 2 samples)
Pipe Throughput                              142249.4 lps   (10.0 s, 7 samples)
Pipe-based Context Switching                  26104.3 lps   (10.0 s, 7 samples)
Process Creation                                900.4 lps   (30.0 s, 2 samples)
Shell Scripts (1 concurrent)                    792.1 lpm   (60.1 s, 2 samples)
Shell Scripts (8 concurrent)                    225.7 lpm   (60.1 s, 2 samples)
System Call Overhead                         315398.1 lps   (10.0 s, 7 samples)

System Benchmarks Index Values               BASELINE       RESULT    INDEX
Dhrystone 2 using register variables         116700.0    2051913.2    175.8
Double-Precision Whetstone                       55.0        304.4     55.3
Execl Throughput                                 43.0        338.5     78.7
File Copy 1024 bufsize 2000 maxblocks          3960.0      55011.2    138.9
File Copy 256 bufsize 500 maxblocks            1655.0      15190.7     91.8
File Copy 4096 bufsize 8000 maxblocks          5800.0     144856.4    249.8
Pipe Throughput                               12440.0     142249.4    114.3
Pipe-based Context Switching                   4000.0      26104.3     65.3
Process Creation                                126.0        900.4     71.5
Shell Scripts (1 concurrent)                     42.4        792.1    186.8
Shell Scripts (8 concurrent)                      6.0        225.7    376.1
System Call Overhead                          15000.0     315398.1    210.3
                                                                   ========
System Benchmarks Index Score                                         127.9

------------------------------------------------------------------------
Benchmark Run: Sat Feb 25 2017 01:26:06 - 01:54:51
4 CPUs in system; running 4 parallel copies of tests

Dhrystone 2 using register variables        8210975.3 lps   (10.0 s, 7 samples)
Double-Precision Whetstone                     1217.3 MWIPS (10.0 s, 7 samples)
Execl Throughput                                893.1 lps   (29.7 s, 2 samples)
File Copy 1024 bufsize 2000 maxblocks         82569.4 KBps  (30.0 s, 2 samples)
File Copy 256 bufsize 500 maxblocks           23143.4 KBps  (30.0 s, 2 samples)
File Copy 4096 bufsize 8000 maxblocks        223030.0 KBps  (30.0 s, 2 samples)
Pipe Throughput                              528901.6 lps   (10.0 s, 7 samples)
Pipe-based Context Switching                  88406.9 lps   (10.0 s, 7 samples)
Process Creation                               1965.7 lps   (30.0 s, 2 samples)
Shell Scripts (1 concurrent)                   1785.2 lpm   (60.1 s, 2 samples)
Shell Scripts (8 concurrent)                    235.9 lpm   (60.7 s, 2 samples)
System Call Overhead                        1111615.0 lps   (10.0 s, 7 samples)

System Benchmarks Index Values               BASELINE       RESULT    INDEX
Dhrystone 2 using register variables         116700.0    8210975.3    703.6
Double-Precision Whetstone                       55.0       1217.3    221.3
Execl Throughput                                 43.0        893.1    207.7
File Copy 1024 bufsize 2000 maxblocks          3960.0      82569.4    208.5
File Copy 256 bufsize 500 maxblocks            1655.0      23143.4    139.8
File Copy 4096 bufsize 8000 maxblocks          5800.0     223030.0    384.5
Pipe Throughput                               12440.0     528901.6    425.2
Pipe-based Context Switching                   4000.0      88406.9    221.0
Process Creation                                126.0       1965.7    156.0
Shell Scripts (1 concurrent)                     42.4       1785.2    421.0
Shell Scripts (8 concurrent)                      6.0        235.9    393.1
System Call Overhead                          15000.0    1111615.0    741.1
                                                                   ========
System Benchmarks Index Score                                         305.2

UnixBench まとめ

Board Orange Pi ZeroRaspberry Pi2Orange Pi PC2
in caseHeatSink
number of cores 1 core4 core1 core4 core1 core4 core1 core4 core
Dhrystone 2 using register variables 384.2 1018.7 384.2 1523.7 175.8 703.6 457.7 1829.0
Double-Precision Whetstone 140.1 380.7 140.2 538.0 55.3 221.3 170.1 679.4
Execl Throughput 63.4 283.1 68.7 338.8 78.7 207.7 96.8 539.6
File Copy 1024 bufsize 2000 maxblocks 227.1 249.1 231.9 369.7 138.9 208.5 259.7 388.1
File Copy 256 bufsize 500 maxblocks 163.4 201.4 174.2 258.4 91.8 139.8 180.5 228.1
File Copy 4096 bufsize 8000 maxblocks 333.5 468.2 359.0 544.9 249.8 384.5 472.7 830.2
Pipe Throughput 184.4 590.1 195.0 782.3 114.3 425.2 192.7 767.8
Pipe-based Context Switching 60.4 235.1 63.3 306.1 65.3 221.0 124.0 489.2
Process Creation 67.8 295.7 42.2 331.8 71.5 156.0 103.8 554.0
Shell Scripts (1 concurrent) 294.3 623.8 305.6 740.3 186.8 421.0 369.2 1080.2
Shell Scripts (8 concurrent) 545.0 569.5 654.8 691.8 376.1 393.1 944.1 1016.9
System Call Overhead 436.3 1344.4 452.6 1735.1 210.3 741.1 413.8 1579.0
System Benchmarks Index Score 190.1 438.5192.2 563.3 127.9 305.2 250.1 714.8

Orange Pi Zero はクロックが 1.2GHz と Raspberry Pi2 の 900MHz に対して 1.33 倍ですが、それ以上のスコアになりました。 Raspberry Pi の gcc のバージョンが「gcc (Raspbian 4.9.2-10) 4.9.2」、Orange Pi Zero が「gcc (Ubuntu/Linaro 5.4.0-6ubuntu1~16.04.4) 5.4.0 20160609」なので、その影響かもしれません。

そこで、コンパイラの影響がでないように、アセンブラで 4x4行列の乗算を100万回計算するコードを実行する時間を測定しました。単位は秒です。

BoardCC loopNEON ASMNEON optimized
Orange Pi Zero0.2689840.551743 0.116869 0.100196
Raspberry Pi20.4297261.105500 0.234210 0.200525

同じCortex-A7 というアーキテクチャですが、Orange Pi Zero はクロック差以上に速いですね。 自宅で使うサーバが 1000円でできるなんて想定外です。


JBL Pebbles と Orange Pi Zero でステレオコンポ

Orange Pi PC2 の性能と Ubuntu のインストール



このページの目次