在我的java程序上添加运行时

时间:2010-12-05 05:24:02

标签: java

用Java计算时间的正确代码是什么  public static int getGcd(int a,int b,int temp)format?

2 个答案:

答案 0 :(得分:2)

一个简单的解决方案:

首先,在启动您希望运行时间的代码之前抓取并存储时间:

long start =System.currentTimeMillis();

在您跟踪的代码之后抓住当前时间并从起点中减去它以获得经过的总时间:
System.out.println(System.currentTimeMillis() - start);

答案 1 :(得分:0)

如果它运行速度相对较快并且您试图通过在一堆随机输入上运行它来获得平均时间,请使用:

long totalTime = 0;
long start = System.nanoTime();
for(int i=0;i<n;i++){
    //Generate a and b
    getGcd(a, b);
}
long end = System.nanoTime();
totalTime = end - start;
start = System.nanoTime();
for (int i=0;i<n;i++){
    //Generate a and b
}
end = System.nanoTime();
totalTime -= end - start;
return totalTime / n;

这为您提供平均时间(以纳秒为单位)。

查找GCD的平均运行时间是一个非常有趣且复杂的问题。在最坏的情况下,输入的比率接近黄金均值(例如连续的斐波纳契数),然后运行时间为O(log n)。但它仍然可能具有极大的输入并且最终具有基本恒定的时间。我很想知道你的结果。