Raspberry Pi Zeroでベンチマーク (Dhrystone)をはしらせる

Raspberry Pi Zero上でベンチマークソフトを走らせてみました


環境

  • ボード … Raspberry Pi Zero W rev 1.1
    • CPU … ARM1176JZF-S 700 MHz processor
  • ターミナル … ssh
  • コンパイラ … gcc (Raspbian 8.3.0-6+rpi1) 8.3.0

ベンチマークソフト

Roy Longbottom’s Raspberry Pi, Pi 2 and Pi 3 Benchmarksからベンチマークソフトをダウンロードします (Raspberry_Pi_Benchmarks.zip)

# ssh pi@raspberrypi.local  # sshでログイン
% wget http://www.roylongbottom.org.uk/Raspberry_Pi_Benchmarks.zip
% unzip Raspberry_Pi_Benchmarks.zip

コンパイル&実行

ダウンロードしたアーカイブにはいくつかのベンチマークソフトが入っていますが、ここではDhrystoneをコンパイルして実行してみます。ソースはSource Codeフォルダに入っています。Dhrystoneのコンパイルにはdhry_1.cdhry_2.ccpuid.cの3つのファイルをコンパイルします

% cd Raspberry_Pi_Benchmarks/Source\ Code  # ソースコードのあるフォルダに移動
% gcc dhry_1.c dhry_2.c cpuidc.c -o dhry2 -lm -lrt
% ./dhry2   #実行
....
 #####################################################

 Dhrystone Benchmark 2.1 A7 32 Bit, Wed Apr 15 03:01:25 2020

 Nanoseconds one Dhrystone run:      1347.46
 Dhrystones per Second:               742140
 VAX MIPS rating =                    422.39

 Numeric results were correct

 #####################################################

ソース元のページのデータによるとCPUが同じRaspberry Piの700MHzの結果は847なので、半分ほどのスコア出ていません。原因は … コンパイル時に最適化オプションを指定していないためデフォルトの-O0が指定されているためですね

% gcc -O2 dhry_1.c dhry_2.c cpuidc.c -o dhry2 -lm -lrt

と最適化オプション -O2でコンパイルすれば800程度のスコアが確認できました

またWhetstoneベンチマークも同様に計測することが可能です

% gcc  whets.c cpuidc.c -lm -lrt -O3 -o whetstone
% ./whetstone
...

おすすめ