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

Performance 为什么Matlab文档建议不使用cputime?,performance,matlab,Performance,Matlab,在cputime的Matlab文档中,它说: 尽管可以使用cputime来衡量性能 功能,建议您使用tic和toc功能 这是唯一的目的。这已是多年来的普遍规律 在Microsoft®Windows®计算机上运行CPU密集型计算 使用cputime的经过时间和使用tic和toc的经过时间 价值接近,忽略任何首次成本。有一些案例 然而,这表明这两种方法之间存在显著差异。 例如,奔腾4正在运行超线程 在Windows中,值之间可能存在显著差异 由cputime与tic和toc返回 我有一个运行linu

cputime
的Matlab文档中,它说:

尽管可以使用cputime来衡量性能 功能,建议您使用tic和toc功能 这是唯一的目的。这已是多年来的普遍规律 在Microsoft®Windows®计算机上运行CPU密集型计算 使用cputime的经过时间和使用tic和toc的经过时间 价值接近,忽略任何首次成本。有一些案例 然而,这表明这两种方法之间存在显著差异。 例如,奔腾4正在运行超线程 在Windows中,值之间可能存在显著差异 由cputime与tic和toc返回

我有一个运行linux的Intel Core i5。我想测量一个Matlab脚本的CPU时间
tic
toc
返回实时,受系统中运行的其他进程的影响。我应该使用
cputime


注意:在文档中还指出,
cputime
一旦达到内部表示限制,就会溢出并环绕。这对我没有影响,因为我知道我的程序执行时间比内部表示限制短。

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

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

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