Tweet


* ベンチマーク [#l30a8698]

EABI 祭ということで,[http://www.tux.org/~mayer/linux/bmark.html nbench] でさっくりとベンチマークを取ってみた.


** 機種 [#bf7896b1]

|機種|CPU|カーネル|ディストロ|ABI|備考|h
|HDL-G|XScale 80219|2.6.10|etch|OABI||
|HDL-GXR|Marvell 88F5182|2.6.12|etch|OABI||
|~|~|2.6.28-rc9|etch|OABI|カーネル側で OABI システムコールエミュレーション|
|~|~|~|lenny|EABI||
|PC/AT compatible|CelronD 2.66GHz|2.6.26|lenny|-|参考|

** 結果 [#k44edab9]

*** HDL-G ethc OABI [#fed7d3ad]

 BYTEmark* Native Mode Benchmark ver. 2 (10/95)
 Index-split by Andrew D. Balsa (11/97)
 Linux/Unix* port by Uwe F. Mayer (12/96,11/97)
 
 TEST                : Iterations/sec.  : Old Index   : New Index
                     :                  : Pentium 90* : AMD K6/233*
 --------------------:------------------:-------------:------------
 NUMERIC SORT        :          138.28  :       3.55  :       1.16
 STRING SORT         :          7.2049  :       3.22  :       0.50
 BITFIELD            :      3.1898e+07  :       5.47  :       1.14
 FP EMULATION        :           14.97  :       7.18  :       1.66
 FOURIER             :          14.849  :       0.02  :       0.01
 ASSIGNMENT          :          1.2073  :       4.59  :       1.19
 IDEA                :          289.91  :       4.43  :       1.32
 HUFFMAN             :          48.419  :       1.34  :       0.43
 NEURAL NET          :        0.016515  :       0.03  :       0.01
 LU DECOMPOSITION    :         0.52798  :       0.03  :       0.02
 ==========================ORIGINAL BYTEMARK RESULTS==========================
 INTEGER INDEX       : 3.838
 FLOATING-POINT INDEX: 0.023
 Baseline (MSDOS*)   : Pentium* 90, 256 KB L2-cache, Watcom* compiler 10.0
 ==============================LINUX DATA BELOW===============================
 CPU                 : 400MHz
 L2 Cache            :
 OS                  : Linux 2.6.10-iop1
 C compiler          :
 libc                : libc-2.3.6.so
 MEMORY INDEX        : 0.879
 INTEGER INDEX       : 1.022
 FLOATING-POINT INDEX: 0.013
 Baseline (LINUX)    : AMD K6/233*, 512 KB L2-cache, gcc 2.7.2.3, libc-5.4.38
 * Trademarks are property of their respective holder.

*** HDL-GXR etch OABI [#x5ee6dd0]
 BYTEmark* Native Mode Benchmark ver. 2 (10/95)
 Index-split by Andrew D. Balsa (11/97)
 Linux/Unix* port by Uwe F. Mayer (12/96,11/97)
 
 TEST                : Iterations/sec.  : Old Index   : New Index
                     :                  : Pentium 90* : AMD K6/233*
 --------------------:------------------:-------------:------------
 NUMERIC SORT        :          100.28  :       2.57  :       0.84
 STRING SORT         :          7.0811  :       3.16  :       0.49
 BITFIELD            :       3.081e+07  :       5.29  :       1.10
 FP EMULATION        :          11.933  :       5.73  :       1.32
 FOURIER             :          9.3086  :       0.01  :       0.01
 ASSIGNMENT          :          1.4415  :       5.49  :       1.42
 IDEA                :          222.22  :       3.40  :       1.01
 HUFFMAN             :          36.483  :       1.01  :       0.32
 NEURAL NET          :        0.010537  :       0.02  :       0.01
 LU DECOMPOSITION    :         0.38971  :       0.02  :       0.01
 ==========================ORIGINAL BYTEMARK RESULTS==========================
 INTEGER INDEX       : 3.341
 FLOATING-POINT INDEX: 0.015
 Baseline (MSDOS*)   : Pentium* 90, 256 KB L2-cache, Watcom* compiler 10.0
 ==============================LINUX DATA BELOW===============================
 CPU                 : 
 L2 Cache            : 
 OS                  : Linux 2.6.12.6-arm1
 C compiler          : gcc version 4.1.2 20061115 (prerelease) (Debian 4.1.1-21)
 libc                : libc-2.3.6.so
 MEMORY INDEX        : 0.916
 INTEGER INDEX       : 0.777
 FLOATING-POINT INDEX: 0.009
 Baseline (LINUX)    : AMD K6/233*, 512 KB L2-cache, gcc 2.7.2.3, libc-5.4.38
 * Trademarks are property of their respective holder. [#g4eb0079]


*** HDL-GXR etch OABI [#lc444b77]

 BYTEmark* Native Mode Benchmark ver. 2 (10/95)
 Index-split by Andrew D. Balsa (11/97)
 Linux/Unix* port by Uwe F. Mayer (12/96,11/97)
 
 TEST                : Iterations/sec.  : Old Index   : New Index
                     :                  : Pentium 90* : AMD K6/233*
 --------------------:------------------:-------------:------------
 NUMERIC SORT        :           100.6  :       2.58  :       0.85
 STRING SORT         :          7.0645  :       3.16  :       0.49
 BITFIELD            :      3.0333e+07  :       5.20  :       1.09
 FP EMULATION        :          11.872  :       5.70  :       1.31
 FOURIER             :          10.828  :       0.01  :       0.01
 ASSIGNMENT          :          1.4482  :       5.51  :       1.43
 IDEA                :          221.73  :       3.39  :       1.01
 HUFFMAN             :          32.852  :       0.91  :       0.29
 NEURAL NET          :        0.011259  :       0.02  :       0.01
 LU DECOMPOSITION    :         0.33445  :       0.02  :       0.01
 ==========================ORIGINAL BYTEMARK RESULTS==========================
 INTEGER INDEX       : 3.283
 FLOATING-POINT INDEX: 0.016
 Baseline (MSDOS*)   : Pentium* 90, 256 KB L2-cache, Watcom* compiler 10.0
 ==============================LINUX DATA BELOW===============================
 CPU                 : 
 L2 Cache            : 
 OS                  : Linux 2.6.28-rc9
 C compiler          : gcc version 4.1.2 20061115 (prerelease) (Debian 4.1.1-21)
 libc                : libc-2.3.6.so
 MEMORY INDEX        : 0.912
 INTEGER INDEX       : 0.756
 FLOATING-POINT INDEX: 0.009
 Baseline (LINUX)    : AMD K6/233*, 512 KB L2-cache, gcc 2.7.2.3, libc-5.4.38
 * Trademarks are property of their respective holder.


*** HDL-GXR lenny EABI [#o721fb23]

 BYTEmark* Native Mode Benchmark ver. 2 (10/95)
 Index-split by Andrew D. Balsa (11/97)
 Linux/Unix* port by Uwe F. Mayer (12/96,11/97)
 
 TEST                : Iterations/sec.  : Old Index   : New Index
                     :                  : Pentium 90* : AMD K6/233*
 --------------------:------------------:-------------:------------
 NUMERIC SORT        :            97.8  :       2.51  :       0.82
 STRING SORT         :          10.926  :       4.88  :       0.76
 BITFIELD            :       3.395e+07  :       5.82  :       1.22
 FP EMULATION        :          20.883  :      10.02  :       2.31
 FOURIER             :          105.59  :       0.12  :       0.07
 ASSIGNMENT          :           1.631  :       6.21  :       1.61
 IDEA                :          248.19  :       3.80  :       1.13
 HUFFMAN             :          159.11  :       4.41  :       1.41
 NEURAL NET          :         0.15499  :       0.25  :       0.10
 LU DECOMPOSITION    :          2.8969  :       0.15  :       0.11
 ==========================ORIGINAL BYTEMARK RESULTS==========================
 INTEGER INDEX       : 4.964
 FLOATING-POINT INDEX: 0.165
 Baseline (MSDOS*)   : Pentium* 90, 256 KB L2-cache, Watcom* compiler 10.0
 ==============================LINUX DATA BELOW===============================
 CPU                 : 
 L2 Cache            : 
 OS                  : Linux 2.6.28-rc9
 MEMORY INDEX        : 1.140
 INTEGER INDEX       : 1.319
 FLOATING-POINT INDEX: 0.091
 Baseline (LINUX)    : AMD K6/233*, 512 KB L2-cache, gcc 2.7.2.3, libc-5.4.38
 * Trademarks are property of their respective holder.

*** x86 CeleronD 2.66GHz [#fb3d14db]

 BYTEmark* Native Mode Benchmark ver. 2 (10/95)
 Index-split by Andrew D. Balsa (11/97)
 Linux/Unix* port by Uwe F. Mayer (12/96,11/97)
 
 TEST                : Iterations/sec.  : Old Index   : New Index
                     :                  : Pentium 90* : AMD K6/233*
 --------------------:------------------:-------------:------------
 NUMERIC SORT        :          578.04  :      14.82  :       4.87
 STRING SORT         :          92.883  :      41.50  :       6.42
 BITFIELD            :      3.5211e+08  :      60.40  :      12.62
 FP EMULATION        :          108.73  :      52.18  :      12.04
 FOURIER             :           14486  :      16.47  :       9.25
 ASSIGNMENT          :          24.451  :      93.04  :      24.13
 IDEA                :          3225.7  :      49.34  :      14.65
 HUFFMAN             :          1542.4  :      42.77  :      13.66
 NEURAL NET          :          21.181  :      34.03  :      14.31
 LU DECOMPOSITION    :           880.2  :      45.60  :      32.93
 ==========================ORIGINAL BYTEMARK RESULTS==========================
 INTEGER INDEX       : 45.119
 FLOATING-POINT INDEX: 29.456
 Baseline (MSDOS*)   : Pentium* 90, 256 KB L2-cache, Watcom* compiler 10.0
 ==============================LINUX DATA BELOW===============================
 CPU                 : GenuineIntel Intel(R) Celeron(R) CPU 2.66GHz 2667MHz
 L2 Cache            : 256 KB
 OS                  : Linux 2.6.26-1-686
 MEMORY INDEX        : 12.506
 INTEGER INDEX       : 10.406
 FLOATING-POINT INDEX: 16.337
 Baseline (LINUX)    : AMD K6/233*, 512 KB L2-cache, gcc 2.7.2.3, libc-5.4.38
 * Trademarks are property of their respective holder.

** グラフ [#n9f27a86]
上記結果の New Index AMD K6/233 の値をグラフにしてみました.
ホントは棒グラフにすべきなんだろうけど値の比較がしにくいので,あえて折れ線グラフです.
レーダチャートを横に展開したと思えば問題は無いのかな.

#ref(benchmark.png,center)

** 考察 [#hf4d0c03]
EABI 環境では OABI に比べ,FOURIER TRANSFORM, NEURAL NET, LU DECOMPOSITION のパフォーマンスが 10 倍前後向上しています.
これらのベンチマークは浮動小数点演算を駆使するもので,
- OABI ではカーネルの FPU エミュレーション
- EABI ではユーザプログラムでの浮動小数点演算

となっているところから来ているのでしょう.

トップ   編集 差分 バックアップ 添付 複製 名前変更 リロード   新規 一覧 単語検索 最終更新   ヘルプ   最終更新のRSS