【发布时间】:2015-09-22 15:14:43
【问题描述】:
我正在使用 matlab 学习算法。 我使用了指令; tic 和 toc。 然而,在我看来,这些指令只是在计算经过的时间。我如何才能仅在运行状态下找到真正的运行时间? 没有处于等待或就绪状态。
【问题讨论】:
标签: matlab
我正在使用 matlab 学习算法。 我使用了指令; tic 和 toc。 然而,在我看来,这些指令只是在计算经过的时间。我如何才能仅在运行状态下找到真正的运行时间? 没有处于等待或就绪状态。
【问题讨论】:
标签: matlab
您正在查看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函数也考虑了首次成本。
【讨论】: