我正在做一个项目,目的是比较不同语言的排序算法。我的比较将分为两类:
我想知道,是否可以比较这些方法/功能/过程:
基于日历时间的比较
System.nanoTime()然后在millisec上的时间差/1000000time.time()然后时间差*1000gettimeofday()
totalTime = (end.tv_sec - start.tv_sec) * 1e6;totalTime = (totalTime + (end.tv_usec - start.tv_usec)) * 1e-3;now,然后使用MilliSecondsBetween()实现时差基于处理器时间的比较
getThreadCpuTime()然后时间差thread_time()然后时间差clock()然后时间差getTickCount64然后时差//我不确定这一点,你能给建议吗?发布于 2021-04-28 21:55:18
我会用外部工具来采取这样的措施。必须记住,性能度量是一个棘手的领域,您必须确保每个实现的环境条件和输入相等。
不仅如此:
要比较不同语言之间算法实现的性能是非常困难的,因为有太多的因素。
作为一种度量工具,您可以从linux time命令开始:
time java_program
# some output
real 0m20.608s
user 0m0.007s
sys 0m0.000s
time c_program
# some output
real 0m20.608s
user 0m0.007s
sys 0m0.000s
...对于windows,有一个powershell cmd-let Measure-Command,更多。
https://stackoverflow.com/questions/67307636
复制相似问题