性能評価・プロファイリング
同じ数の命令を持つ2つのプログラムを、1つは1秒あたり1000百万命令、もう1つは500百万命令の速さで続けて実行した。全体の平均の速さはいくらか。
- A750百万命令毎秒
- B約707百万命令毎秒
- C約667百万命令毎秒
答えと解説を見る
正解:C. 約667百万命令毎秒
それぞれ命令がI個なら、時間はI÷1000とI÷500で、合計は3I÷1000です。全体で2I個の命令をこの時間で実行したので、平均の速さは2I÷(3I÷1000)≒667です。遅い方のプログラムに長い時間がかかるので、平均は遅い方に引き寄せられます。このように、同じ量の仕事についての速さ(率)を平均するときは、算術平均ではなく調和平均を使います。
- A. 速さを単純に算術平均すると誤ります。
- B. これは幾何平均で、全体の速さを表しません。
- C. 正しい。速さの平均は調和平均で求めます。