我正在使用matlab学习算法。 我用了指令; tic和toc。 但是,在我看来,这些说明只是计算经过的时间。如何才能在运行状态下找到真正的运行时间? 没有处于等待或准备状态。
答案 0 :(得分:2)
你在看cputime
。但是,这是不推荐的计算一组语句时间的方法。最好使用tic/toc
,但我个人建议使用timeit
来正确测量函数的时间。
请点击此处查看不建议使用cputime
的原因列表:http://www.mathworks.com/help/matlab/matlab_prog/measure-performance-of-your-program.html
但是,如果您不想全部阅读,我引用的链接中的外卖消息是:
虽然您可以使用
cputime
函数衡量效果,但timeit
或tic
和toc
函数更适合此用途。通常,对于在Microsoft®Windows®计算机上运行的CPU密集型计算,cputime
以及tic
和toc
的已用时间值接近,忽略任何首次成本。但是,有些情况表明这些功能之间存在显着差异。例如,对于运行Windows的超线程Pentium 4,cputime返回的值与tic和toc之间可能存在显着差异。与
tic
和toc
一样,timeit
提供的结果比cputime
更可靠。但是,timeit
函数还会考虑首次成本。