的时间
功能和秒表计时功能,抽搐
和toc
,使您能够计算代码运行所需的时间。使用时间
函数用于严格测量函数执行时间。使用抽搐
和toc
估计未完成功能的较小部分代码的时间。
有关代码性能的其他详细信息,如函数调用信息和各行代码的执行时间,请使用MATLAB®分析器。有关更多信息,请参见分析代码以提高性能。
要测量运行函数所需的时间,使用时间
函数。的时间
函数多次调用指定的函数,并返回测量值的中值。它接受要测量的函数的句柄,并返回以秒为单位的典型执行时间。假设你定义了一个函数,computeFunction
,它需要两个输入,x
和y
,在您的工作区中定义。您可以计算执行函数所需的时间时间
。
myComputeFunction(x,y);函数timeit(f)的句柄
来估算程序的一部分需要多长时间运行或以比较程序的部分的不同实施方式的速度,使用秒表计时功能,抽搐
和toc
。调用抽搐
开始计时,然后下一个toc
读取运行时间。
议会的程序部分,以时间。toc
有时程序运行得太快抽搐
和toc
以提供有用的数据。如果你的代码是快于1/10秒,考虑衡量它在一个循环中运行,然后平均找到单次运行时间。
建议您使用时间
或抽搐
和toc
来度量代码的性能。这些函数返回墙上时钟时间。不像抽搐
和toc
,时间
函数多次调用代码,因此考虑首次开销。
的cputime
函数度量所有线程的CPU总时间和总和。这种测量不同于挂钟的时间时间
或抽搐
/toc
回报,并可能是误导。例如:
的CPU时间暂停
函数通常很小,但挂钟时间占MATLAB执行暂停的实际时间。因此,挂钟的时间可能会更长。
如果您的函数平均使用4个处理核心,那么CPU时间大约是壁钟时间的4倍。
当你测量你的代码的性能时,考虑以下提示:
时间足够重要的代码部分。理想情况下,您正在计时的代码运行时间应该超过1/10秒。
将您试图计时的代码放入函数中,而不是在命令行或脚本中计时。
除非您试图度量首次成本,否则请多次运行您的代码。使用时间
函数。
避免清除所有
在测量性能。有关更多信息,请参见明确
函数。
将输出赋给变量,而不是默认值答
。