JIT のループ展開ポリシーとは何ですか? または、それに対する簡単な答えがない場合、ループのアンローリングがループ内でいつどこで実行されているかを確認する方法はありますか?
GNode child = null;
for(int i=0;i<8;i++){
child = octree.getNeighbor(nn, i, MethodFlag.NONE);
if(child==null)
break;
RecurseForce(leaf, child, dsq, epssq);
}
基本的に、静的な反復回数 (8 回) を持つ上記のコードがあり、for ループをそのままにしておくとうまくいきません。しかし、ループを手動で展開すると、大幅に改善されます。JIT が実際にループをアンロールするかどうか、またそうでない場合はその理由を知りたいと思っています。