Sun Studio 12: C ユーザーズガイド

B.2.128.1 先読み応答率

先読みの応答時間とは、先読み命令を実行してから先読みされたデータがキャッシュで利用可能となるまでのハードウェアの遅延のことです。

係数には、n.n. という形式の正の数値を使用します。

コンパイラでは、先読み命令と先読みしたデータを使用するロード命令やストア命令の間隔を決める先読み応答時間の値が使用されます。先読み命令とロード命令との間の使用応答時間は、先読み命令とストア命令との間の使用応答時間と異なる場合があります。

コンパイラは、幅広いマシンとアプリケーションで最適なパフォーマンスを得られるように先読み機構を調整します。この調整は必ずしも最高でない場合もあります。メモリーをたくさん使用するアプリケーション、特に大型のマルチプロセッサで実行されるアプリケーションの場合は、先読み応答時間の値を増やすことでパフォーマンスを向上できる場合があります。この値を増やすには、1 よりも大きい係数を使用します。.5 〜 2.0 の値を指定すると、ほとんどの場合は最大のパフォーマンスが実現されます。

外部キャッシュの中に完全に常駐するデータセットを持つアプリケーションの場合は、先読み応答時間の値を減らすことでパフォーマンスを向上できる場合があります。値を小さくするには、1 よりも小さな係数を使用します。

latx:factor サブオプションを使用するには、1.0 程度の係数から順にアプリケーションの性能テストを実行します。そのあとで係数を増減して、パフォーマンスを再度実施します。こうして最高のパフォーマンスが得られるまで係数を調整しながらパフォーマンステストを継続します。係数を小刻みに増減すると、ほんの数刻み増減しただけではパフォーマンスに違いは見られませんが、突然パフォーマンスが大きく変わり、その後再度横這い状態になります。