在尝试使用System.nanoTime()
来调查各个任务的运行时间时,当输入数据集足够大时,值会变成负数。
所使用的示例代码:
long start = System.nanoTime();
run();
long stop = System.nanoTime();
int diff = (int) (stop-start);
System.out.println(data_size+", "+diff);
当对一个越来越大的数据集调用
run()
时,输出结果如下:1, 80000
10, 4310000
50, 48077000
100, 171363000
250, 1061924000
500, 14018704
750, 998074408
1000, -41025184
1500, -81710664
2000, -273795736
2500, 768997600
3000, -39161248
这对任何人都有意义吗?
int
引起的。 - rgettman