性能評価・プロファイリング
性能を測るための仕組みを入れたことで、測りたいプログラムの動きそのものが変わってしまう現象を何と呼ぶか。
- Aキャッシュコヒーレンシ
- Bプローブ効果(観測効果)
- Cパイプライン処理
答えと解説を見る
正解:B. プローブ効果(観測効果)
ログを出力する、時間を測るコードを入れる、デバッガで止める、といった測定のための処理は、それ自体が時間やキャッシュを使い、タイミングを変えます。そのため、測った結果が測らないときの動きと違ったり、データ競合のようなタイミングに依存する不具合が測るときだけ消えたりします。サンプリングや性能カウンタのような影響の小さい方法を選び、測定の影響の大きさも確かめることが大切です。
- A. キャッシュの一貫性の仕組みのことです。
- B. 正しい。測定の影響を小さくする工夫が必要です。
- C. 命令を重ねて実行する仕組みのことです。