相关疑难解决方法(0)

Java JIT循环展开策略?

什么是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);
}
Run Code Online (Sandbox Code Playgroud)

基本上,我有一段代码具有静态迭代次数(八次),并且当我离开for循环时它确实很糟糕.但是当我手动展开循环时,它确实更好.我有兴趣了解JIT是否实际上展开循环,如果没有,那么为什么.

java compiler-construction optimization jit loop-unrolling

8
推荐指数
1
解决办法
3125
查看次数