gpt4 book ai didi

java - 相同的代码块执行时长不同

转载 作者:行者123 更新时间:2023-12-02 03:45:53 25 4
gpt4 key购买 nike

我试图用类似的 block 检查执行时间。

示例代码和输出如下,

    public class Tester {

public static void main(String[] args) {
System.out.println("Run 1");
List<Integer> list = new ArrayList<>();
int i = 0;
long st = System.currentTimeMillis();
while (++i < 10000) {
list.add(i);
}
System.out.println("Time taken :" + (System.currentTimeMillis() - st));

System.out.println("Run 2");
int j = 0;
List<Integer> list2 = new ArrayList<>();
long ST = System.currentTimeMillis();
while (++j < 10000) {
list2.add(j);
}
System.out.println("Time taken :" + (System.currentTimeMillis() - ST));

System.out.println("Run 3");
int k = 0;
List<Integer> list3 = new ArrayList<>();
long ST2 = System.currentTimeMillis();
while (++k < 10000) {
list3.add(k);
}
System.out.println("Time taken :" + (System.currentTimeMillis() - ST2));
}
}

输出

Run 1
Time taken :6
Run 2
Time taken :3
Run 3
Time taken :1

为什么我的执行时间不同?

最佳答案

这可能是为了对数组列表进行即时编译和热点优化,但你不能100%确定。

除此之外,您的样本量太小,意义不大。

关于java - 相同的代码块执行时长不同,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36301187/

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