相关疑难解决方法(0)

Java:空循环使用多长时间?

我试图在Java中测试自动装箱和拆箱的速度,但是当我尝试将它与原语上的空循环进行比较时,我注意到了一个奇怪的事情.这个片段:

for (int j = 0; j < 10; j++) {
    long t = System.currentTimeMillis();
    for (int i = 0; i < 10000000; i++)
        ;
    t = System.currentTimeMillis() - t;
    System.out.print(t + " ");
}
Run Code Online (Sandbox Code Playgroud)

每次我运行它,它返回相同的结果:

6 7 0 0 0 0 0 0 0 0

为什么前两个循环总是需要一些时间,其余的似乎被系统跳过?

在这篇文章的答案中,据说Just-In-Time编译将能够优化这一点.但如果是这样,为什么前两个循环还需要一些时间?

java performance primitive jit loops

7
推荐指数
2
解决办法
2538
查看次数

标签 统计

java ×1

jit ×1

loops ×1

performance ×1

primitive ×1