gpt4 book ai didi

java - 简单 Java 程序的奇怪性能结果

转载 作者:行者123 更新时间:2023-12-02 00:43:10 26 4
gpt4 key购买 nike

看一下下面的 Java 代码:

long l = System.currentTimeMillis();
int[] arr = new int[2];
for (int i = 0; i < arr.length; i++) {
for (int j = 0; j < 600000000; j++) {
arr[i] += 1;
}
}
System.out.println("done " + (System.currentTimeMillis() - l));

在我的(双核)机器上大约需要 3.5 秒。

如果我添加一行

int u = 0;

开始时(在 long l 声明之前)需要 6.5 秒!

如果我现在添加额外的行,这样我就有:

int u = 0;
int u2 = 0;

我们回到了 3.5 秒。

int u = 0;
int u2 = 0;
int u3 = 0;

又是 6.5 秒!

4 次时为 3.5 秒,5 次及以上时为 3.6 秒。

这会发生在别人的机器上吗?这里发生了什么?

为了查看 JIT 或 JVM 启动是否有任何效果,我将整个过程封装在 100 次迭代的循环中,结果仍然相同

最佳答案

在所有情况下我都会得到 2 秒的时间。由于其他原因,您可能会得到不同的结果。影响微基准的因素有很多。请参阅How do I write a correct micro-benchmark in Java?

关于java - 简单 Java 程序的奇怪性能结果,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5748081/

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