私はこのようなループに取り組んでいます:
int arrA[BIG], arrB[BIG], arrC[BIG];
for(int = 0; i<BIG; i++){
do_operation(arrA[i], arrB[i], arrC[i]);
}
これdo_operation
は実際の関数ではありません。A、B、Cの間のいくつかの操作を意味します。プロファイリング データから、キャッシュの欠落率が高いようです。
より良いキャッシュ動作でループを書き直すにはどうすればよいですか?
コメントありがとうございます!