如何在parfor循环中使用tic / toc?

时间:2014-07-21 01:49:48

标签: parallel-processing matlab

我的代码目前正在使用parfor机制运行。但是,如果我想使用tic/toc计算每次迭代的运行时间,MATLAB将使用undefined function error进行响应。有没有解决这个问题的方法?谢谢!

1 个答案:

答案 0 :(得分:6)

tic范例中不存在{p> tocparfor,因为tictoc是单个线程上的计时。因为你并行运行,所以会有线程/上下文切换,因此激活parfor时产生的每个线程的时间将非常不准确......这就是为什么这些命令自然不受支持的原因。但是,您可以将tictoc命令放在parfor循环的之外,并且您将能够计算整个{{1}的时长身体执行,但我认为这不是你想要的。

相反,你需要做更多的工作。这不是描述你需要做的工作,而是由其他人完成的。您应该在MathWorks文件交换中查看此工具,该工具允许在parfor循环中进行计时:http://www.mathworks.com/matlabcentral/fileexchange/27472-partictoc/content/Par.m

有关如何使用此工具的示例,请访问:http://www.mathworks.com/matlabcentral/fileexchange/27472-partictoc/content/html/Example_Script.html

祝你好运!