【发布时间】:2014-05-14 19:11:04
【问题描述】:
如何测量 Matlab 执行某些命令所用的时间?我正在寻找类似 linux time 命令的东西,它返回实际使用的 CPU(用户 + sys),而不是总时间,这可能会因其他进程的系统使用情况而异。
另外,时间应该以毫秒为单位返回。
【问题讨论】:
标签: matlab
如何测量 Matlab 执行某些命令所用的时间?我正在寻找类似 linux time 命令的东西,它返回实际使用的 CPU(用户 + sys),而不是总时间,这可能会因其他进程的系统使用情况而异。
另外,时间应该以毫秒为单位返回。
【问题讨论】:
标签: matlab
你可以使用cputime:
CPUTIME 以秒为单位的 CPU 时间。 CPUTIME 返回已使用的 CPU 时间(以秒为单位) 自 MATLAB 启动以来的 MATLAB 进程。
例如:
t=cputime; your_operation; cputime-t返回用于运行 your_operation 的 CPU 时间。
返回值可能会溢出内部表示 并环绕。
还有timeit。
你也可以使用tic/toc(见Daniel's answer)。
有关测量 CPU 时间的信息,请参阅 some useful comments。根据上面的链接,tic / toc 和 timeit 给出的估计比cputime 更准确。
【讨论】:
对于简单的时钟时间解决方案,请使用 tic 和 toc
profile提供每行详细的报告代码,可以选择cpu时间和实时。
【讨论】:
tic 和 toc 返回实时而不是 CPU 时间。至于profile,我只需要cpu时间,看来profile收集了一堆我不需要的其他信息。这不会影响性能吗?