
398
■
付録
A
ベンチマーク
for (int x = 1; x <= len; x++) {
sum += x;
}
long end = System.currentTimeMillis();
ts.addTrial(len, now, end);
}
}
System.out.println (ts.computeTable());
}
}
クラス
TrialSuite
は、試行の結果をサイズとともに貯える。すべての試行が済む
と、結果の表を計算する。このときに、実行時間を足し合わせて総和を求めるとと
もに、最小値、最大値が得られる。最初に述べたように、最大最小値は取り除き、
平均と標準偏差を計算する。
A.2.2
Linux
ベンチマーク
C
のテストケースでは、テストするコードとリンクするベンチマークライブラリ
を
開発した。この節では、時間計測コードの本質的な部分について簡単に述べる。
興味のある読者は、コードリポジトリのソースコード全体を眺めてほしい。
基本的に整列ルーチンのために作成されたので、
C
による計測用に用意された
コードは、既存のソースコードにリンクして使うことができる。時間計測
API
は、
次のようなコマンド行引数を構文解析して処理する。
usage: timing [-n NumElements] [-s seed] [-v] [OriginalArguments]
-n
問題のサイズを宣言する
[
省略時
100,000]
-v
詳細出力
[
省略時
false]
-s
乱数値のシードを設定する ...