2016-04-23

UnixBench - UNIX系OS向けベンチマーク

UnixBench は Linux など Unix 系 OS 向けのベンチマークツールです。参考サイト [1] に詳しい使用方法が紹介されてましたので、それを参考に Fedora でベンチマークをしてみました。ベンチマークのターゲットにした環境は下記のとおりです。

  • PC: Stream 11-r016TU
    • インテル® Celeron® プロセッサー N2840 (2.16GHz-2.58GHz, L2キャッシュ 1MB)
  • OS: Fedora 24 x86_64(アルファ版)

参考サイト [2] から UnixBench の zip ファイルをダウンロードして、次のように解凍して実行しました。コンパイル後に '3dinfo: command not found' のメッセージが出ますが解決方法がわからないので、結局、Graphics のベンチマークなしに実施しました。その他のエラーについては、参考サイト [3] を参考にしています。

$ unzip byte-unixbench-master.zip
Archive:  byte-unixbench-master.zip
e80d3f373999e75dda3c9c9474fb54ecd4a0ea1e
   creating: byte-unixbench-master/
  inflating: byte-unixbench-master/LICENSE.txt  
  inflating: byte-unixbench-master/README.md  
   creating: byte-unixbench-master/UnixBench/
...
...
  inflating: byte-unixbench-master/UnixBench/testdir/large.txt  
  inflating: byte-unixbench-master/UnixBench/testdir/sort.src  
$ cd byte-unixbench-master/UnixBench
$ ls
Makefile  README  Run  USAGE  WRITING_TESTS  pgms  src  testdir
$ ./Run
gcc -o ./pgms/arithoh -DTIME -Wall -pedantic -ansi -O2 -fomit-frame-pointer -fforce-addr -ffast-math -Wall -Darithoh ./src/arith.c
gcc -o ./pgms/register -DTIME -Wall -pedantic -ansi -O2 -fomit-frame-pointer -fforce-addr -ffast-math -Wall -Ddatum='register int' ./src/arith.c
...
...
gcc -o ./pgms/fstime -DTIME -Wall -pedantic -ansi -O2 -fomit-frame-pointer -fforce-addr -ffast-math -Wall ./src/fstime.c
gcc -o ./pgms/whetstone-double -DTIME -Wall -pedantic -ansi -O2 -fomit-frame-pointer -fforce-addr -ffast-math -Wall -DDP -DUNIX -DUNIXBENCH ./src/whets.c -lm
make all
make[1]: Entering directory '/home/bitwalk/ダウンロード/byte-unixbench-master/UnixBench'
Checking distribution of files
./pgms  exists
./src  exists
./testdir  exists
make[1]: Leaving directory '/home/bitwalk/ダウンロード/byte-unixbench-master/UnixBench'
sh: 3dinfo: command not found

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

   Version 5.1.3                      Based on the Byte Magazine Unix Benchmark

   Multi-CPU version                  Version 5 revisions by Ian Smith,
                                      Sunnyvale, CA, USA
   January 13, 2011                   johantheghost at yahoo period com

Wide character in print at ./Run line 1511.
Wide character in printf at ./Run line 1542.

1 x Dhrystone 2 using register variables

1 x Dhrystone 2 using register variables  1 2 3 4 5 6 7 8 9 10

...
...

2 x Shell Scripts (8 concurrent)  1 2 3
Wide character in printf at ./Run line 1484.

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

   System: stream11: GNU/Linux
   OS: GNU/Linux -- 4.5.2-300.fc24.x86_64 -- #1 SMP Wed Apr 20 16:46:11 UTC 2016
   Machine: x86_64 (x86_64)
   Language: en_US.utf8 (charmap="UTF-8", collate="UTF-8")
   CPU 0: Intel(R) Celeron(R) CPU N2840 @ 2.16GHz (4326.4 bogomips)
          Hyper-Threading, x86-64, MMX, Physical Address Ext, SYSENTER/SYSEXIT, SYSCALL/SYSRET, Intel virtualization
   CPU 1: Intel(R) Celeron(R) CPU N2840 @ 2.16GHz (4326.4 bogomips)
          Hyper-Threading, x86-64, MMX, Physical Address Ext, SYSENTER/SYSEXIT, SYSCALL/SYSRET, Intel virtualization
   08:18:08 up  1:07,  2 users,  load average: 0.19, 0.19, 0.62; runlevel 5

------------------------------------------------------------------------
Benchmark Run: 土  4月 23 2016 08:18:08 - 08:46:47
2 CPUs in system; running 1 parallel copy of tests

Dhrystone 2 using register variables       12904499.1 lps   (10.0 s, 7 samples)
Double-Precision Whetstone                     2209.9 MWIPS (9.9 s, 7 samples)
Execl Throughput                                525.4 lps   (29.7 s, 2 samples)
File Copy 1024 bufsize 2000 maxblocks        270798.8 KBps  (30.0 s, 2 samples)
File Copy 256 bufsize 500 maxblocks           74378.5 KBps  (30.0 s, 2 samples)
File Copy 4096 bufsize 8000 maxblocks        673829.4 KBps  (30.0 s, 2 samples)
Pipe Throughput                              881314.7 lps   (10.0 s, 7 samples)
Pipe-based Context Switching                  62505.2 lps   (10.0 s, 7 samples)
Process Creation                               4217.6 lps   (30.0 s, 2 samples)
Shell Scripts (1 concurrent)                   2704.1 lpm   (60.0 s, 2 samples)
Shell Scripts (8 concurrent)                    523.7 lpm   (60.1 s, 2 samples)
System Call Overhead                        1829738.5 lps   (10.0 s, 7 samples)

System Benchmarks Index Values               BASELINE       RESULT    INDEX
Dhrystone 2 using register variables         116700.0   12904499.1   1105.8
Double-Precision Whetstone                       55.0       2209.9    401.8
Execl Throughput                                 43.0        525.4    122.2
File Copy 1024 bufsize 2000 maxblocks          3960.0     270798.8    683.8
File Copy 256 bufsize 500 maxblocks            1655.0      74378.5    449.4
File Copy 4096 bufsize 8000 maxblocks          5800.0     673829.4   1161.8
Pipe Throughput                               12440.0     881314.7    708.5
Pipe-based Context Switching                   4000.0      62505.2    156.3
Process Creation                                126.0       4217.6    334.7
Shell Scripts (1 concurrent)                     42.4       2704.1    637.8
Shell Scripts (8 concurrent)                      6.0        523.7    872.9
System Call Overhead                          15000.0    1829738.5   1219.8
                                                                   ========
System Benchmarks Index Score                                         529.7

------------------------------------------------------------------------
Benchmark Run: 土  4月 23 2016 08:46:47 - 09:15:43
2 CPUs in system; running 2 parallel copies of tests

Dhrystone 2 using register variables       25357204.1 lps   (10.0 s, 7 samples)
Double-Precision Whetstone                     4397.7 MWIPS (10.0 s, 7 samples)
Execl Throughput                               3286.2 lps   (29.8 s, 2 samples)
File Copy 1024 bufsize 2000 maxblocks        385791.0 KBps  (30.1 s, 2 samples)
File Copy 256 bufsize 500 maxblocks          116330.5 KBps  (30.0 s, 2 samples)
File Copy 4096 bufsize 8000 maxblocks        941896.0 KBps  (30.0 s, 2 samples)
Pipe Throughput                             1754722.5 lps   (10.0 s, 7 samples)
Pipe-based Context Switching                 178692.5 lps   (10.0 s, 7 samples)
Process Creation                              11098.5 lps   (30.0 s, 2 samples)
Shell Scripts (1 concurrent)                   3914.7 lpm   (60.0 s, 2 samples)
Shell Scripts (8 concurrent)                    525.5 lpm   (60.1 s, 2 samples)
System Call Overhead                        2759217.9 lps   (10.0 s, 7 samples)

System Benchmarks Index Values               BASELINE       RESULT    INDEX
Dhrystone 2 using register variables         116700.0   25357204.1   2172.9
Double-Precision Whetstone                       55.0       4397.7    799.6
Execl Throughput                                 43.0       3286.2    764.2
File Copy 1024 bufsize 2000 maxblocks          3960.0     385791.0    974.2
File Copy 256 bufsize 500 maxblocks            1655.0     116330.5    702.9
File Copy 4096 bufsize 8000 maxblocks          5800.0     941896.0   1624.0
Pipe Throughput                               12440.0    1754722.5   1410.5
Pipe-based Context Switching                   4000.0     178692.5    446.7
Process Creation                                126.0      11098.5    880.8
Shell Scripts (1 concurrent)                     42.4       3914.7    923.3
Shell Scripts (8 concurrent)                      6.0        525.5    875.8
System Call Overhead                          15000.0    2759217.9   1839.5
                                                                   ========
System Benchmarks Index Score                                        1016.6

$ 

UnixBench の結果の各項目については、参考サイト [1] に詳しく説明されています。

新しく登場した CPU のベンチマークを取ることについては理解できるのですが、昔、オーバークロックした自作 PC に対する(Windows の)ベンチマークの記事を目にする度に、そもそも PC を何に使いたいのかという疑問がふつふつと湧いてきてしまって、そういったスピード狂が書いたベンチマークの記事には少々嫌気を覚えていました。

しかし、現在の格安 PC に搭載されている非力な CPU に焦点をあてて、同一のソフトウェアを使ってベンチマークのデータを蓄積することは、それなりに意味があるかもしれないと考えるようになりました。格安 PC と言えど、そう何台も購入できるわけではありませんので、地道にやっていこうと思います。

参考サイト

  1. UnixBenchでベンチマーク - IDCF Tech-Blog
  2. kdlucas/byte-unixbench: Automatically exported from code.google.com/p/byte-unixbench
  3. UnixBenchの使い方とエラー対処方法 - Linux入門 - Webkaru

 

ブログランキング・にほんブログ村へ
にほんブログ村

0 件のコメント: