|
||||||||||
| 前のページ 1 2 3 次のページ | ||||||||||
| CPU性能を見る 〜 そのままでは使えないDhrystone | ||||||||||
|
Xen自体は高性能な実装といわれますが、どの程度の性能がでるものなのでしょうか。筆者自身はベンチマークマニアというわけではないのですが、まずはCPU性能を見るということで、昔から使われているDhrystone 2.1を使ってみましょう。 ベンチマークソフトには、以下のURLから取得できるDhrystoneベンチマークプログラムを用いました。 なおこのプログラムを使うためには、システムにコンパイラがインストールされている必要があります。 |
||||||||||
| Dhrystoneプログラムを展開 〜 コンパイルする | ||||||||||
|
ZIPファイルを展開すると、dhrys.1/dhrys2/dhrys3/dhrys4という4つのファイルが作成されます。これらのファイルは、shar(シェルアーカイバ)と呼ばれるしくみでまとめられているため、dhrys.1から順序よく「シェルスクリプト」として実行する必要があります。 具体的には、以下のような感じで実行することで、コンパイルからベンチマーク実行が可能な環境が作成されます。 Dhrystoneの展開(sharファイルを展開する)
juno:/home/wakatono/tmp/dhrys# sh dhrys.1
あとはmakeコマンドを実行することで、dhrystoneの結果が得られます。ただ、このソースコードをそのまま使うと、以下のような結果がでてしまい、何の役にも立ちません。
Running dhrystone (Level 1 optimization, without registers)
これは、Dhrystoneで定義された処理を50,000回実行するのにどの程度の時間がかかった、というのを表現しているのですが、1秒未満(Dhrystone 1.1を50,000回実行するのにかかった時間は0秒となっている)で実行されてしまっており、ベンチマークとして有意とはいいがたい結果となっています。 |
||||||||||
| Dhrystone 2.1を修正する 〜 ループ回数を1,000万回に | ||||||||||
|
先のような結果では検証とは言い難く、Dhrystoneの処理回数を変更し、実行しなおす必要があります。まずは、200倍ほどして1,000万回のループを実行するようにdhrystone.cを修正しました。具体的には、dhrystone.cの387行目に以下のような記述があるので、この行の「50000」を「10000000」に変更しましょう。
#define LOOPS 50000 ⁄* Use this for slow or 16 bit machines *⁄
|
||||||||||
|
前のページ 1 2 3 次のページ |
||||||||||
|
|
||||||||||
|
|
||||||||||
|
||||||||||
|
|
||||||||||
|
||||||||||
|
|
||||||||||
|
||||||||||

