ポインターの間接参照(値をフェッチするため)は、条件付きよりもコストがかかりますか?
ほとんどのまともなコンパイラは、ポインタの間接参照をさまざまな程度に事前計算できることを確認しました(おそらくほとんどの分岐命令を削除します)が、私が興味を持っているのは、間接参照のコストが分岐点のコストよりも大きいかどうかです。生成されたコード。
ポインターによって参照されるデータが実行時にキャッシュにない場合、キャッシュフラッシュが発生する可能性があると思いますが、それを裏付けるデータがありません。
誰かがその問題に関する確かなデータ(または正当な意見)を持っていますか?
編集:いくつかのポスターは、分岐のコストに「一般的なケース」がないことを指摘しました:それはチップごとに大きく異なります。
キャッシュ内の間接参照よりも分岐が(分岐予測の有無にかかわらず)安価であるという注目すべきケースを知っている場合は、それについて言及してください。