ブログ

Armadillo-X1: UnixBenchでベンチマーク

at_ito
2020年1月31日 16時24分

他のボードで開発したものをArmadilloに移植する場合や、どのArmadilloを使用するかを検討中に性能を比較したい場合があるかと思います。ここではLinux上で動作するUnixBenchをArmadillo-640で動作させベンチマークを取ってみます。

1. 環境

本ページの内容は以下の環境で試しました。

  • 製品: Armadillo-X1
  • インストールディスク: install_disk_sd_20191107_x1.img

2. UnixBench動作環境構築

以下のコマンドを実行し、UnixBenchの実行に必要な環境をインストールしてください。

[armadillo ~]# apt-get update
[armadillo ~]# apt-get install git

以下のコマンドを実行して、UnixBenchをダウンロードしてください。

[armadillo ~]# git clone https://github.com/kdlucas/byte-unixbench.git

3. UnixBenchの実行と結果

以下のコマンドを入力してUnixBenchを実行してください。

[armadillo ~]# cd byte-unixbench/UnixBench
[armadillo ~/byte-unixbench/UnixBench]# ./Run

Armadillo-X1でUnixBenchを実行した結果は以下の通りです。

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

   System: armadillo: GNU/Linux
   OS: GNU/Linux -- 4.9.133-at12 -- #2 SMP PREEMPT Thu Oct 31 13:20:19 JST 2019
   Machine: armv7l (unknown)
   Language: en_US.utf8 (charmap="ANSI_X3.4-1968", collate="ANSI_X3.4-1968")
   CPU 0: ARMv7 Processor rev 5 (v7l) (0.0 bogomips)

   CPU 1: ARMv7 Processor rev 5 (v7l) (0.0 bogomips)

   05:49:57 up 2 min,  1 user,  load average: 0.73, 0.35, 0.14; runlevel Nov

------------------------------------------------------------------------
Benchmark Run: Fri Jan 31 2020 05:49:57 - 06:18:09
2 CPUs in system; running 1 parallel copy of tests

Dhrystone 2 using register variables        3804434.7 lps   (10.0 s, 7 samples)
Double-Precision Whetstone                      647.5 MWIPS (10.0 s, 7 samples)
Execl Throughput                                633.5 lps   (30.0 s, 2 samples)
File Copy 1024 bufsize 2000 maxblocks         81016.0 KBps  (30.0 s, 2 samples)
File Copy 256 bufsize 500 maxblocks           24075.0 KBps  (30.0 s, 2 samples)
File Copy 4096 bufsize 8000 maxblocks        202383.9 KBps  (30.0 s, 2 samples)
Pipe Throughput                              189166.7 lps   (10.0 s, 7 samples)
Pipe-based Context Switching                  27685.2 lps   (10.0 s, 7 samples)
Process Creation                               1367.9 lps   (30.0 s, 2 samples)
Shell Scripts (1 concurrent)                   1391.9 lpm   (60.0 s, 2 samples)
Shell Scripts (8 concurrent)                    256.6 lpm   (60.1 s, 2 samples)
System Call Overhead                         424344.4 lps   (10.0 s, 7 samples)

System Benchmarks Index Values               BASELINE       RESULT    INDEX
Dhrystone 2 using register variables         116700.0    3804434.7    326.0
Double-Precision Whetstone                       55.0        647.5    117.7
Execl Throughput                                 43.0        633.5    147.3
File Copy 1024 bufsize 2000 maxblocks          3960.0      81016.0    204.6
File Copy 256 bufsize 500 maxblocks            1655.0      24075.0    145.5
File Copy 4096 bufsize 8000 maxblocks          5800.0     202383.9    348.9
Pipe Throughput                               12440.0     189166.7    152.1
Pipe-based Context Switching                   4000.0      27685.2     69.2
Process Creation                                126.0       1367.9    108.6
Shell Scripts (1 concurrent)                     42.4       1391.9    328.3
Shell Scripts (8 concurrent)                      6.0        256.6    427.6
System Call Overhead                          15000.0     424344.4    282.9
                                                                   ========
System Benchmarks Index Score                                         193.0

------------------------------------------------------------------------
Benchmark Run: Fri Jan 31 2020 06:18:09 - 06:46:22
2 CPUs in system; running 2 parallel copies of tests

Dhrystone 2 using register variables        7608115.9 lps   (10.0 s, 7 samples)
Double-Precision Whetstone                     1293.4 MWIPS (10.0 s, 7 samples)
Execl Throughput                               1092.1 lps   (29.9 s, 2 samples)
File Copy 1024 bufsize 2000 maxblocks        129789.8 KBps  (30.0 s, 2 samples)
File Copy 256 bufsize 500 maxblocks           38677.0 KBps  (30.0 s, 2 samples)
File Copy 4096 bufsize 8000 maxblocks        326044.3 KBps  (30.0 s, 2 samples)
Pipe Throughput                              376882.1 lps   (10.0 s, 7 samples)
Pipe-based Context Switching                  54007.0 lps   (10.0 s, 7 samples)
Process Creation                               2448.6 lps   (30.0 s, 2 samples)
Shell Scripts (1 concurrent)                   2025.5 lpm   (60.0 s, 2 samples)
Shell Scripts (8 concurrent)                    258.2 lpm   (60.3 s, 2 samples)
System Call Overhead                         821084.7 lps   (10.0 s, 7 samples)

System Benchmarks Index Values               BASELINE       RESULT    INDEX
Dhrystone 2 using register variables         116700.0    7608115.9    651.9
Double-Precision Whetstone                       55.0       1293.4    235.2
Execl Throughput                                 43.0       1092.1    254.0
File Copy 1024 bufsize 2000 maxblocks          3960.0     129789.8    327.8
File Copy 256 bufsize 500 maxblocks            1655.0      38677.0    233.7
File Copy 4096 bufsize 8000 maxblocks          5800.0     326044.3    562.1
Pipe Throughput                               12440.0     376882.1    303.0
Pipe-based Context Switching                   4000.0      54007.0    135.0
Process Creation                                126.0       2448.6    194.3
Shell Scripts (1 concurrent)                     42.4       2025.5    477.7
Shell Scripts (8 concurrent)                      6.0        258.2    430.4
System Call Overhead                          15000.0     821084.7    547.4
                                                                   ========
System Benchmarks Index Score                                         327.1

A. 参考

Armadillo-640でのUnixBench結果を比較したい場合は、Armadillo-640: UnixBenchでベンチマークもご確認ください。