gpt4 book ai didi

java - 每次运行定义的循环都会给出不同的时间

转载 作者:塔克拉玛干 更新时间:2023-11-02 19:15:34 24 4
gpt4 key购买 nike

我写了下面的代码来观察循环函数的时间。令人惊讶的是,它为我提供了每次运行的不同值。

public static void main(String[] args) {
for (int attempt = 0; attempt < 10; attempt++) {
runloop();
}
}

public static void runloop() {
long sum = 0L;
long starttime = System.nanoTime();
for (int x = 0; x < 1000000; x++) {
sum += x;
}

long end = System.nanoTime();
System.out.println("Time taken:" + (end - starttime) / 1000L);
}
}

观察:

Time taken:4062
Time taken:3122
Time taken:2707
Time taken:2445
Time taken:3575
Time taken:2823
Time taken:2228
Time taken:1816
Time taken:1839
Time taken:1811

我不明白为什么时间上会有这样的差异。这是什么原因?

最佳答案

它可以是任何东西:

  • 在您的计算机上运行的其他进程限制了给 Java 的时间
  • 运行垃圾收集器
  • 循环初始化时间
  • ...

关于java - 每次运行定义的循环都会给出不同的时间,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36212376/

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