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);
}
我有一段代码,循环次数是固定的(八次),如果我不对for循环进行任何修改,它的效果很差。但是当我手动展开这个循环时,它的效果显著提高了。我想知道JIT是否实际上展开了循环,如果没有,那么为什么。