为什么Matlab文档建议不要使用cputime?

时间:2014-05-14 19:56:30

标签: performance matlab

cputime的Matlab文档中,它说:

  

尽管可以使用cputime测量性能   功能,建议您使用tic和toc函数   这个目的完全是。这是一般规则   CPU密集型计算在Microsoft®Windows®计算机上运行   使用cputime的经过时间和使用tic和toc的经过时间   价值接近,忽略任何第一次成本。有案例   然而,这表明这两种方法之间存在显着差异。   例如,在具有超线程运行的奔腾4的情况下   Windows,值之间可能存在显着差异   由cputime和tic和toc返回。

我有运行linux的Intel Core i5。我想测量一下Matlab脚本的CPU时间。 tictoc返回实时,这会受到系统中运行的其他进程的影响。我应该使用cputime吗?

注意:在文档中,它还说cputime只要达到内部表示限制就会溢出并回绕。这不会影响我,因为我知道我的程序执行时间比内部表示限制短。

1 个答案:

答案 0 :(得分:1)

Tic和Toc是通常使用的函数,因为它们提供更好的分辨率,这对于计时小计算很重要。

为了解决其他进程在系统资源使用方面的差异问题,您可以运行被分析的计算次数足够多,以便对结果进行平均可以消除噪声。

如果计算量非常小,您可以在每对tic和toc调用之间的循环中运行它。这个内环的大小可以通过实验确定,通过指定tic-toc对的期望运行时间并增加内部循环大小直到达到它。