gpt4 book ai didi

java - 如何提高 System.currentTimeMillis() 的粒度?

转载 作者:行者123 更新时间:2023-11-29 03:02:50 25 4
gpt4 key购买 nike

如何在不提供非常大的数组作为输入的情况下实现它?我正在测量不同算法的运行时间,对于 20 个元素的数组,我得到非常(相同)相似的值。我尝试将总时间除以 1000000000 以清除 E,然后像 16 个镜像一样使用我复制输入数组并为镜像再次执行它。但是对于堆排序和快速排序来说仍然是一样的。有什么想法不需要写多余的行吗?

示例输出:

Random array:
MergeSort:
Total time 14.333066343496
QuickSort:
Total time 14.3330663435256
HeapSort:
Total time 14.3330663435256

如果您需要代码片段,请通知我。

最佳答案

对于您的直接问题,请使用 System.nanoTime()以获得更精细的时间戳。

对于如何获得更好基准的基本问题,您应该在更大的数据集上重复运行基准。执行需要约 14 毫秒的基准测试会非常嘈杂,即使使用更精确的时钟也是如此。另见 How do I write a correct micro-benchmark in Java?

关于java - 如何提高 System.currentTimeMillis() 的粒度?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33764428/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com