![](/img/trans.png)
[英]How to improve the performance for System.currentTimeMillis();?
[英]How to improve System.currentTimeMillis() granularity?
如何在不输入很大数组的情况下实现它? 我正在测量不同算法的运行时间,对于20个元素的数组,我得到非常(相同)的值。 我尝试将总时间除以1000000000以清除E
,然后像使用16个镜像一样在其中复制输入数组并再次对镜像执行它。 但对于堆和快速排序仍然是相同的。 有什么想法不需要写多余的行吗?
样本输出:
Random array:
MergeSort:
Total time 14.333066343496
QuickSort:
Total time 14.3330663435256
HeapSort:
Total time 14.3330663435256
如果您需要代码片段,请通知我。
对于您的直接问题,请使用System.nanoTime()
获得更精细的时间戳。
对于如何获得更好的基准的基本问题,您应该在较大的数据集上反复运行基准。 即使需要更精确的时钟,执行大约需要14ms的基准测试也会非常嘈杂。 另请参见如何在Java中编写正确的微基准?
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.