MATLAB使用Profiler识别性能瓶颈

示例

MATLAB Profiler是用于对MATLAB代码进行软件配置的工具。使用探查器,可以获得执行时间和内存消耗的直观表示。

运行Profiler可以通过两种方式完成:

  • .m在编辑器中打开一些文件(在R2012b中添加)时,单击MATLAB GUI中的“运行和时间”按钮。

  • 以编程方式使用:

    profile on
    <some code we want to test>
    profile off

以下是一些示例代码及其分析结果:

function docTest

for ind1 = 1:100
  [~] = var(...
            sum(...
                randn(1000)));
end

spy

从上面的内容中我们了解到,该spy函数大约占总执行时间的25%。在“实际代码”的情况下,与执行类似功能var并cla应避免其优化的功能相反,占用如此大执行时间百分比的功能将是进行优化的不错选择。

此外,可以单击“功能名称”列中的条目以查看该条目的执行时间的详细分类。这是单击的示例spy:


还可以通过profile('-memory')在运行探查器之前执行来探查内存消耗。