文件

轮廓

函数的概要文件执行时间

描述

使用Profiler跟踪执行时间。知道MATLAB的执行时间®代码可以帮助您调试和优化它。有关分析器的用户界面的信息,请参见提高性能的概要文件

例子

轮廓行动描述函数的执行时间。使用行动启动、停止、重启Profiler,并查看或清除概要文件统计信息。例如,剖面上启动分析器。

例子

轮廓行动option1 ...申请使用指定的选项启动或重新启动Profiler。例如,简介简历 - 哈里奥尼重新启动分析器并记录函数调用的序列。

例子

轮廓option1 ...申请设置指定的Profiler选项。如果开启探查器并指定其中一个选项,MATLAB会抛出错误。要更改选项,首先指定关闭,然后指定新选项。

例子

P.=配置文件('INFO')停止分析器并显示包含结果的结构。访问生成的数据轮廓,请使用此语法。

例子

S.=配置文件('status')返回一个包含Profiler状态信息的结构。

例子

全部折叠

此示例不受支持金宝appMatlab Online™

打开探查器,并致电魔法函数。

轮廓n = 100;M =魔法(n);

查看Profiler窗口中的结果。

轮廓查看器

将结果保存为HTML。默认情况下,专业产品将文件保存到profile_results当前工作文件夹中的子文件夹。

专业产品

创建文件myFunction.m使用此主函数和本地功能。

函数c =√(平方(a)+平方(b));结束函数y =正方形(x)y = x。^ 2;结束

打开分析器,并启用函数调用历史记录选项。对电话进行分析myfunction.函数。

轮廓-历史a = rand(5);B =兰特(5);c = myfunction(a,b);

保存概要文件结果。

p =概要文件(“信息”的)
p = functiontable:[2x1 struct]函数

显示功能呼叫记录。

P.FunctionHistory.
Ans = 0 0 1 0 1 1 2 2 2 2 1

通过迭代函数调用历史记录显示功能条目和退出信息。

numEvents =大小(p.FunctionHistory, 2);n = 1: nummevents名称= p.FunctionTable(p.FunctionHistory(2,n)).FunctionName;如果p.FunctionHistory(1,n) == 0 disp([“进入”名称]);其他的disp ([“退出”名称]);结束结束
输入myFunction输入myFunction>square退出myFunction>square输入myFunction>square退出myFunction>square退出myFunction

设置函数调用历史记录为默认值。

轮廓-nohistory.

打开探查器,并致电魔法函数。

轮廓n = 100;M =魔法(n);

将结果保存到mat文件中

p =概要文件(“信息”)保存myprofiledataP.
p = functiontable:[1x1 struct] functionhistory:[2x2 double] clockPrecision:3.3475E-07 ClockSpeed:3.0600E + 09名称:'Matlab'开销:0
s =配置文件('地位'的)
s = ProfilerStatus: 'off' DetailLevel: 'mmex' Timer: 'performance' HistoryTracking: 'off' HistorySize: 1000000

输入参数

全部折叠

指定为以下选项之一的分析器的控制选项。

选项 结果

启动剖析器,清除任何以前记录的剖析统计信息。

停止分析器。

恢复

重新启动Profiler而不清除以前录制的统计数据。

清晰的

清除记录的统计数据。

查看器

停止分析器并在Profiler窗口中显示结果。有关更多信息,请参阅提高性能的概要文件.Profiler用户界面不可用Matlab在线

信息

停止分析器并返回包含结果的结构。

状态

返回带有分析器状态信息的结构。

一个或多个概要分析选项,指定为与历史记录和时钟选项表中的有效设置相对应的字符向量。你可以用下面的语法指定一个或多个选项:

  • 配置文件选项1…optionN

  • 个人资料简历选项1…optionN

  • 个人资料option1 ...申请

如果更改Profiler设置,则在停止Profiler或清除统计信息时,这些设置将继续存在。要恢复到默认的分析器行为,手动设置选项为默认设置或启动一个新的MATLAB会话。

历史的选择

选项 结果
-历史

记录函数调用的确切序列,包括函数进入和退出事件。默认情况下,-历史选项未启用。

-historysize整数

指定要记录的函数条目和退出事件的数量。默认情况下,historysize是1000000。如果函数调用的数量超过指定的historysize, 这轮廓函数继续记录除了呼叫序列之外的分析统计信息。

-nohistory.

默认设置。禁用录制函数调用的确切序列。这轮廓函数收集所有其他分析统计信息。

时钟选项

选项 结果
计时器“性能”

默认设置。使用操作系统提供的时钟中的wall-clock时间来度量性能。

计时器的处理器

直接从处理器使用挂钟时间。有时,您的节能设置或使用多个处理器会影响此测量。

计时器“真实”的

使用操作系统报告的系统时间。此选项是最昂贵的昂贵的测量,并且对IMILICED代码的性能产生最大影响。更改操作系统时钟的时间会影响此测量。

计时器的cpu

使用计算机时间,并计算所有线程的时间。这种测量方法不同于墙上的时钟时间。例如,电脑的时间暂停函数通常很小,但是墙壁时钟时间占实际暂停时间的比例较大。

输出参数

全部折叠

Profiler统计信息,作为包含这些字段的结构返回。

描述

FunctionTable

函数统计信息,以结构数组的形式返回。数组中的每个结构都包含在分析期间调用的一个函数或局部函数的信息。每个结构包含以下字段:

  • CompleteName- 完全路径FunctionName

  • FunctionName—函数名。如果函数是一个局部函数,FunctionName包括主函数。

  • 文件名- 完全路径FunctionName,使用文件扩展名。如果函数是一个局部函数,文件名是主要功能的完整路径。

  • 类型—功能类型。例如,MATLAB函数,mex函数,局部函数,或嵌套函数。

  • 我会-被分析的代码调用函数的次数。

  • TotalTime-花费在函数及其子函数的总时间。

  • TotalRecursiveTimeMATLAB不再使用这个字段。

  • 孩子们—该函数调用的函数信息。数组中的每个条目包含一个子函数的信息。该结构包含以下字段:

    • 指数-索引到子函数信息结构内FunctionTable

    • 我会- 次数代码称为子功能的次数。

    • TotalTime-在child函数中花费的总时间。

  • 父母—父函数信息FunctionName.数组中的每个结构都包含一个父元素的信息。该结构包含以下字段:

    • 指数- 索引到父功能信息结构内FunctionTable

    • 我会- 父函数称为此函数的次数。

  • ExecutedLines- array包含分析功能的逐行详细信息。

    • 第1列-代码中执行的行号文件名

    • 第2列 - 分布式代码执行代码行的次数。

    • 第3列 - 在代码线上花费的总时间。第3列条目的总和不一定加起来TotalTime

  • IsRecursive—函数是否递归。如果值是1真正的),该功能是递归的。如果值是0.)时,函数是非递归的。

  • PartialData- 配置文件统计是否不完整的指示符。如果该值是逻辑的1真正的),在分析过程中修改该功能。例如,如果您编辑了函数或从内存清除它。在该事件中,Profiler仅收集数据,直到修改函数。

功能函数

函数调用历史记录,作为数组返回。

  • 第一行-函数进入或退出的指示符。分析器记录函数条目0.,函数退出1

  • 行2 -索引函数信息结构FunctionTable

ClockPrecision

时间测量的精度轮廓函数,作为

ClockSpeed

估计的CPU时钟速度,返回为

名称

分析器的名称,作为字符数组返回。

开销

保留以后使用。

profiler状态,作为包含这些字段的结构返回。

默认值

ProfilerStatus

“上”“关闭”

“关闭”

DetailLevel

“mmex”

“mmex”

计时器

“性能”“处理器”'中央处理器', 或者“真实”的

“性能”

HistoryTracking

“上”“关闭”

“关闭”

HistorySize

整数

1000000

限制

  • 如果分布式代码使用间接(或相互)递归,Matlab Profiler可能会返回不准确的结果。如果递归是直接的(单个函数调用自己),则Profiler返回对功能的非递归调用的总时间。要确定分析代码中的函数是否是递归(直接或间接),请检查值的值IsRecursive字段FunctionTable条目。

提示

  • 要打开剖析器用户界面,请使用概要文件查看器语法或看提高性能的概要文件.Profiler用户界面不可用Matlab在线

  • 在MATLAB R2015b中,默认定时器为“性能”.在MATLAB的早期版本中,默认的分析器计时器是'中央处理器',其中测量计算时间而不是挂钟时间。

之前介绍过的R2006a