gpt4 book ai didi

Java JIT 循环展开策略?

转载 作者:塔克拉玛干 更新时间:2023-11-03 04:26:16 25 4
gpt4 key购买 nike

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 是否真的展开了循环,如果没有,那是为什么。

最佳答案

如果 JVM 展开循环,实际上最好回答 printing the generated assembly .请注意,这需要您的代码实际作为热点执行(即 JVM 认为它值得进行昂贵的优化)。

为什么 JVM 决定一种或另一种方式是一个更难的问题,可能需要对 JIT 代码进行深入分析。

关于Java JIT 循环展开策略?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7243221/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com