実装が次のような C++ クラスがあるとします。
// ...
MyClass::iterativeFunction() {
for (int i = 0; i < 1000000; i++) {
performAction(i);
}
}
MyClass::performAction(int index) {
// Block of code (non-inline-able)
}
// ...
C++ レベルでは、これらのメソッドの空間的な局所性を制御できますか? それとも、コンパイラが関連するメソッドを認識し、それに応じてそのアセンブリを最適化することを期待する必要がありますか? 理想的には、命令キャッシュに一緒にロードされるように、それらを互いに隣り合わせにしたいのですが、コンパイラーにこれを本当に望んでいることを知らせる方法がわかりません。