我正在尝试使用计时器来测量算法的复杂性来测量执行时间,同时改变输入数组的大小。
我现在的代码相当简单:
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 中做到这一点?