一些MATLAB函数(如求解器)包含允许定期记录函数进度的选项。例如,optimset
为fminsearch
。对于标准库中的其他功能,是否有任何基准测试进度的方法(甚至是在串行设置中继续执行)?
例如,调用具有足够大N的零(N)将花费很长时间。除了以tic / toc方式重复调用函数以获得感觉问题是用N的不同输入扩展的方式,有没有办法评估函数调用的进度?一般来说,有没有办法跟踪内置函数的进度?
答案 0 :(得分:3)
没有办法在运行的脚本或函数中完全按照您的要求进行操作。你可以添加很多tic / tocs&用于跟踪进度的disp语句......但这可能很乏味。
但是,如果您的目标是确定慢点和区域不能很好地扩展,那么你应该使用Matlab's Profiler。
分析是一种衡量程序花费时间的方法。在你之后 确定哪些功能消耗时间最多,您可以评估 它们可能会改善性能。
使用更大的&更大的投入和它会告诉你哪些慢点需要一些工作。