【发布时间】:2012-05-14 21:09:12
【问题描述】:
我正在尝试使用计时器来测量算法的复杂性,以测量执行时间,同时更改输入数组的大小。
我现在的代码比较简单:
public void start() {
start = System.nanoTime();
}
public long stop() {
long time = System.nanoTime() - start;
start = 0;
return time;
}
它似乎工作正常,直到数组的大小变得非常大,而我期望的 O(n) 复杂度算法结果似乎是 O(n^2)。我相信这是由于 CPU 上的线程,在运行过程中其他进程切入的时间更长,n 的值更大。
基本上,我想测量我的进程已经运行了多长时间,而不是自调用算法以来已经运行了多长时间。有没有一种简单的方法可以在 Java 中做到这一点?
【问题讨论】:
标签: java multithreading timing stopwatch