読者です 読者をやめる 読者になる 読者になる

into the void

ソフトウェアに関する雑多な調査日記

UnixBenchでいろいろベンチマーク(さくらVPS、raspberry pi 3、ローカルPC)

使える計算機環境が増えたのでそれぞれのベンチマークをとってみる。
ベンチマークソフトはUnixBenchを使う。

さくらVPS

Ubuntuをインストールしてあるので、aptでビルド環境を入れた後、UnixBenchをビルドして使う。
ビルドツールを入れる。

$ sudo apt-get update
$ sudo apt-get install build-essential

UnixBenchはGitHubで公開されているので取ってこれるようにgitツールも入れる。

$sudo apt-get install git

git cloneする

$ mkdir unixbench
$ cd unixbench
$ git clone https://github.com/kdlucas/byte-unixbench.git .

あとはRunするだけで、必要なソースコードのビルドからベンチマークの実行までやってくれる。

$ cd UnixBench
$ ./Run

raspberry pi 3

Raspberry pi 3、まずはOSのインストールから。
OSイメージを下記のページからダウンロードする。
https://www.raspberrypi.org/downloads/raspbian/

RasbianかUbuntu MATEか迷ったけれど、まずはスタンダードなRasbianを入れてみた。
RasbianもDebian系なのでコマンドラインから使う分にはUbuntuと同じような使い勝手なはず。
イメージは最小構成の方を選択。RASPBIAN JESSIE LITE。
イメージの焼き方は
https://www.raspberrypi.org/documentation/installation/installing-images/mac.md
diskutilでSDカードのデバイス名を確認して、(dfでもいいけど)

$ diskutil list
/dev/disk3 (internal, physical):
   #:                       TYPE NAME                    SIZE       IDENTIFIER
   0:     FDisk_partition_scheme                        *1.1 GB     disk3
   1:             Windows_FAT_32 SERVICEV001             75.5 MB    disk3s1
   2:                      Linux                         998.2 MB   disk3s2

マウントされている場合はアンマウントして、

diskutil unmount /dev/disk3s1

ddでイメージを書き込む

$ sudo dd bs=1m of=/dev/disk3 if=/Users/shizuku/Downloads/2016-03-18-raspbian-jessie-lite.img 

途中で進捗が見たい場合は、ctrl-Tでddにシグナルを送ると教えてくれる。
書き込むサイズはraspbain-jessie-liteで1.3GBとちょっと。

起動させるとlite版なのでGUIではなくCUIで起動。
デフォルトで用意されているpiユーザでログイン。
TIMEZONEとキーボードレイアウトを変更するためにraspi-configのInternationalisation Optionsを実行。当面は日本語フォントを入れるつもりはないのでLOCALEはCにしておく。
SDカードの全領域を使えるように、rasps-configのExpand Filesystemを実行。
あとは、いつもどおりapt-getで必要なツール群をインストールした後で、UnixBenchをとってきて、Run。raspbian jessie liteのイメージの場合、すでにbuild-essentialはインストールされていた。ので、gitだけapt-get installしてこればOK。

ローカルPC (MacBook Air, Mid 2011)

MacOSでも同じようにUnixBenchをgitから取得して実行してみる。
Runを実行すると、ビルドはうまくいってベンチマークもはじまるものの、途中で下記のエラーがでて中断してしまった。

Run: "Pipe-based Context Switching": slave read failed: Invalid argument; aborting

ちょっとググったら、パッチが提供されていることが分かったので、もらってきてあててみる。
https://gist.github.com/barusan/11033924
UnixBench5.1.3.mavericks.patch

$ cd UnixBench
$ ~/download/UnixBench5.1.3.mavericks.patch .
$ patch -p1 < UnixBench5.1.3.mavericks.patch
$ make clean
$ make
$ ./Run

UnixBenchの結果の比較

こんな感じの結果になった。(single)はシングルコア向けテストの結果。(multi)はマルチコア向け。
さくらVPSXeon E5-2650とMacBook AirCore i5-2557Mは同じSandy Bridge世代だけど、さすがにサーバ向けCPUは早い。
raspberry pi 3 は4コアフルに使って、Corei5-2557Mの1コア。ただ、raspiは消費電力が最大で12.5Wってことを考えるとかなり頑張っている。

spec raspi 3 MacBook Air (Mid 2011) SAKURA VPS
CPU ARM Cortex-A53 @ 1.2GHz Intel Core i5-2557M @ 1.7GHz Xeon CPU E5-2650 v2 @ 2.60GHz
num of cores 4 2 (HT) 2
RAM 1GB 4GB 1GB
Main Storage SDカード SSD SSD
OS Raspbian 4.1.19 OS X 10.11.4 (EI Capitan) Ubuntu 14.04.4 LTS


参考

個々のベンチマーク結果は下記。