在cputime
的Matlab文档中,它说:
尽管可以使用cputime测量性能 功能,建议您使用tic和toc函数 这个目的完全是。这是一般规则 CPU密集型计算在Microsoft®Windows®计算机上运行 使用cputime的经过时间和使用tic和toc的经过时间 价值接近,忽略任何第一次成本。有案例 然而,这表明这两种方法之间存在显着差异。 例如,在具有超线程运行的奔腾4的情况下 Windows,值之间可能存在显着差异 由cputime和tic和toc返回。
我有运行linux的Intel Core i5。我想测量一下Matlab脚本的CPU时间。 tic
和toc
返回实时,这会受到系统中运行的其他进程的影响。我应该使用cputime
吗?
注意:在文档中,它还说cputime
只要达到内部表示限制就会溢出并回绕。这不会影响我,因为我知道我的程序执行时间比内部表示限制短。
答案 0 :(得分:1)
Tic和Toc是通常使用的函数,因为它们提供更好的分辨率,这对于计时小计算很重要。
为了解决其他进程在系统资源使用方面的差异问题,您可以运行被分析的计算次数足够多,以便对结果进行平均可以消除噪声。
如果计算量非常小,您可以在每对tic和toc调用之间的循环中运行它。这个内环的大小可以通过实验确定,通过指定tic-toc对的期望运行时间并增加内部循环大小直到达到它。