
A.4
精度
■
405
表A-4 Cによる計算の計時結果
n 平均 min max 標準偏差
8,000,000 8.376 7.932 8.697 0.213
10,000,000 10.539 9.850 10.990 0.202
12,000,000 12.619 11.732 13.305 0.282
14,000,000 14.681 13.860 15.451 0.381
16,000,000 16.746 15.746 17.560 0.373
2
、
3
年前なら、これら
3
プログラムの間でプログラミング言語による性能差があっ
ただろう。言語実装(特に、
JIT
コンパイラ)とハードウェアの改善は、この計算の
場合にほとんど同じ性能に収束するようになっている。ヒストグラムの結果は、時
間結果がミリ秒以下を含み、
Java
時間計測が整数値しか報告しないのであまり役に
立たない。より現実的なプログラムで比較すれば、プログラミング言語間での差異
がもっとはっきりするだろう。
表A-5 Pythonによる計算の計時結果
n 実行時間(ms)
8,000,000 7.9386
0,000,000 9.9619
12,000,000 12.0528
14,000,000 14.0182
16,000,000 15.8646
A.4
精度
ミリ秒のタイマーを使う代わりに、ナノ秒のタイマーを使うこともできる。
Java
プラットフォームでは、ミリ秒でアクセスせず
System.nanoTime()
を呼び出すこと
だけが、前に示した