gpt4 book ai didi

java - 计算算法的执行时间

转载 作者:行者123 更新时间:2023-11-29 03:32:20 24 4
gpt4 key购买 nike

我在核心 java 中开发了一个图像处理算法(不使用任何第三方 API),现在我必须计算该算法的执行时间,为此我使用了 System.currentTimeMillis()就这样,

public class MyAlgo {

public MyAlgo(String imagePath){
long stTime = System.currentTimeMillis();
// ..........................
// My Algorithm
// ..........................
long endTime = System.currentTimeMillis();
System.out.println("Time ==> " + (endTime - stTime));
}

public static void main(String args[]){
new MyAlgo("d:\\myImage.bmp");
}
}

但问题是,每次我运行这个程序时,我都会得到不同的执行时间。谁能建议我该怎么做?

最佳答案

如果您不想使用外部分析库,只需将您的算法包装在执行它 1000 次的 for() 循环中,然后将总时间除以 1000。结果会更加准确,因为所有其他任务/进程将趋于平衡。

注意:总体测量时间将反射(reflect)算法完成的预期时间,而不是算法代码指令所需的总时间。例如,如果您的算法使用大量内存,并且平均每次执行算法时 Java VM 调用垃圾收集器两次 - 那么您还应该考虑垃圾收集器的时间。这正是 for() 循环的作用,因此您会得到很好的结果。

关于java - 计算算法的执行时间,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17585246/

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