查看和比较代码执行时间
您可以运行一个software-in-the-loop (SIL), processor-in-the-loop(公益诉讼),或XCP-based外部模式模拟生产执行标准为您生成的代码。
在仿真期间,您可以使用模拟数据检查观察流执行时间。在XCP-based外部模式模拟,还可以想象任务调度目标硬件和相关活动。
最后模拟,您可以:
使用配置文件的代码分析器来分析异形模型组件的执行标准。例如,您可以查看异形代码部分和每个异形的分布执行代码部分。
打开一个报告为异形执行度量组件。
使用模拟数据检查员情节和比较执行时间从不同的模拟。
运行仿真,生成执行度量
在本节中,生成执行指标、运行SIL模拟。例如XCP-based外部模式运行模拟,明白了可视化任务调度的XCP外部模式模拟。
打开SILTopModel
模型,它有两个子系统CounterTypeA
和CounterTypeB
。在命令行输入:
openExample (“是/ SILPILVerificationExample”,…金宝appsupportingFile =“SILTopModel.slx”)
运行SIL模拟生成执行指标,在银/公益诉讼标签:
在模式部分中,选择银/公益诉讼模拟。
在准备节中,指定这些设置:
被测系统- - - - - -
顶级模特
银/公益诉讼模式- - - - - -
Software-in-the-Loop(银)
测量子系统的代码执行时间准备部分:
点击设置。
下时间分析:
单击任务分析上的按钮。这一行动选择测量任务执行时间配置参数,它提供了执行指标任务从顶部生成模型
SILTopModel
。单击保存选项按钮,直到它显示
所有的数据
。这个动作设置保存选项配置参数所有的数据
。单击功能按钮,直到它显示
粗
。这个动作设置测量函数的执行时间配置参数粗(仅参考模型和子系统)
,它提供了执行度量函数生成的子系统CounterTypeA
和CounterTypeB
。
下报道,单击覆盖集合按钮,禁用代码覆盖分析。你分开收集代码覆盖率数据分析数据。
单击设置按钮打开配置参数对话框。在数据导入/导出窗格中,清晰的单一的模拟输出然后点击好吧。
查看流在仿真执行时间,打开仿真数据检查员。在结果部分中,点击。
在运行部分中,点击运行银/公益诉讼。
在MATLAB®基本工作空间时,模拟生成一个变量缺省名称,executionProfile
分析数据,存储执行。你可以通过指定另一个名称工作空间变量配置参数。
请注意
如果数据导入/导出>单一的模拟输出复选框被选中时,模拟创造了你指定的变量金宝appSimulink.SimulationOutput
对象。
在仿真,利用仿真数据检查观察,例如,执行时间的变化一步
函数。
当完成仿真,异形模型组件是蓝色。顶级模特SIL或公益诉讼模拟,仿真软件金宝app®编辑背景也是蓝色的。的银/公益诉讼选项卡显示两个额外的面板:
分析细节-提供链接到代码执行分析报告或概要分析器的代码。
代码——显示生成的代码。例如,
SILTopModel.c
。
查看执行指标为顶级模特任务,点击蓝色的背景。或者,为异形组件,点击蓝色的块。例如,子系统CounterTypeB
。
除了执行指标,分析细节面板提供了链接:
概要分析器的代码,使您能够查看和分析执行度量所有异形代码部分。
仿真数据检查器,它允许您为异形情节和比较执行测量代码部分。
异形的分布执行的代码部分。
饼图显示的相对执行时间调用者和被称为函数
你可以从一个模型跟踪组件中的异形代码部分代码视图。在分析细节面板,在代码部分行,点击图标。例如,如果单击模型背景然后点击的图标SILTopModel_initialize
任务,你看到周围的测量探针调用站点在SIL)应用程序。组件的分析指标,将鼠标放在网站。
如果你单击图标为一个函数,调用网站突出显示。代码视图显示平均执行时间和数量的函数调用左边的代码行。在本例中,最大和平均时间是相同的,因为是调用初始化函数只有一个时间。
如果你关闭模型或显示窗口,你可以重启的彩色模型和显示窗口命令行:
注释(executionProfile)
执行时间分析的任务和功能
打开概要分析器代码:
单击银/公益诉讼选项卡。
在结果画廊,下执行分析结果,点击代码概要分析器。
或者,在命令窗口中,输入:
coder.profile.show (executionProfile)
查看任务指标
在任务执行面板,任务执行时间视图显示执行指标对这些生成的代码部分:
模型初始化函数
初始化
。阶跃函数所代表的任务
步骤0.1 [0]
。
对于每个代码部分,表提供了这样的信息:
部分异形的代码部分。
最小执行时间——最短的时间开始和结束之间的代码部分。
平均执行时间——平均时间开始和结束之间的代码部分。
最大执行时间——最长的时间开始和结束之间的代码部分。
平均自我时间——平均执行时间,不包括子部分。
最大的自我时间——最大执行时间,不包括子部分。
调用——调用代码部分。
执行时间标准偏差——一个衡量的传播任务执行时间的平均值。
执行时间方差——一个衡量执行测量的色散。执行标准偏差是这个值的平方根。
默认情况下,应用程序显示在纳秒(109秒)。改变时间单位,设置的部分,时间单位下拉列表,选择另一个单位,例如,微秒(美国)
。
表显示的时间以秒计校准,只有在计时器,计时器每秒蜱虫的数量:
在Windows®计算机,软件SIL仿真确定这个值。
在Linux®电脑,手动调整计时器。在设置的部分,CPU时钟(赫兹)在赫兹字段中,指定您的处理器速度。
的结果将来发布提供的功能,您可以使用您的分析任务。例如,查看步骤0.1 [0]
在生成的代码:
单击行包含
步骤0.1 [0]
。在结果部分中,点击突出显示的代码。模型编辑金宝app器显示调用的代码视图。
查看CPU负载
CPU利用率的观点提供了关于CPU负载的信息,使您能够决定你是否可以在你的目标硬件上运行生成的代码。
表提供了这样的信息:
任务——任务名称
平均CPU利用率——平均每个任务在样本期间所需的CPU时间
最大的CPU利用率——最大样本期间每个任务所需的CPU时间
总体CPU利用率——在样本内总CPU使用率。
软件计算CPU时间的百分比分配给一个任务的任务执行时间除以样本。
软件生成CPU利用率度量每秒只有计时器蜱虫的数量,也就是说,中指定的值CPU时钟(赫兹)字段。
摘要面板(执行)
的总结面板提供了各种各样的模拟信息:
异形组件——金宝app仿真软件模型生成的代码的来源
工作流-类型的代码执行
环境——模拟环境
保存选项——的价值保存选项配置参数
创建的时间——日期和时间工作区创建变量与执行指标
视图函数度量
在将来发布分析部分中,点击函数执行。
的函数的执行时间视图提供了一个函数调用树和执行指标任务和他们的孩子的函数,也就是说,从子系统生成的功能CounterTypeA
和CounterTypeB
。
的相关函数的执行时间视图提供了执行时间函数的调用方函数和总执行时间的百分比,它可以帮助你在生成的代码识别性能瓶颈。
表包含这些指标。
列 | 比较了 |
---|---|
调用者自我时间/ (%) | 时间自我函数与调用者的总执行时间的功能。 |
自我时间/任务(%) | 时间自我函数而任务的总执行时间。 |
自我时间/模拟(%) | 时间自我函数与仿真的总执行时间。 |
功能/模拟(%) | 函数的执行时间,包括自我的时间和花在孩子的时间函数,而模拟的总执行时间。 |
的结果将来发布提供的特性,您可以使用您的分析功能。
跟踪模型组件与生成的函数及其相关指标:
在函数调用树或指标表,点击功能。例如,
CounterTypeA
,叫做步骤0.1 [0]
。在将来发布结果部分中,点击突出源。模型编辑金宝app器识别子系统。
查看生成的代码的函数调用结果部分中,点击突出显示的代码。模型编辑金宝app器显示调用的代码视图。
显示执行的分布函数,结果部分中,点击生成分布。
CounterTypeA
嵌套调用函数吗步骤0.1 [0]
。查看调用者和被称为函数的相对执行时间:
在函数调用树或一个指标表,单击调用方函数步骤0.1 [0]。
在将来发布结果部分中,点击函数分布这些饼图,生成。
使用饼图来识别瓶颈在代码执行的函数。
显示测量仿真数据检查员执行时间,结果部分中,点击出口到SDI。仿真数据检查显示执行时间CounterTypeA
。下滤波器的信号如果你也选择步骤0.1 [0]
和CounterTypeB
复选框中,您可以看到如何执行时间的步骤和子功能随模拟时间。
阶跃函数的执行时间步骤0.1 [0]
是它的自拍和执行时间的总和为孩子功能CounterTypeA
和CounterTypeB
。您可以使用模拟数据督察管理从各种模拟和比较图。
查看生成的代码的执行标准HTML报告结果部分中,点击开放的报告。有关更多信息,请参见代码执行分析报告。
可视化函数调用堆栈
您可以可视化的函数调用栈模拟步骤,最长需要执行的任务。
在将来发布分析部分中,点击函数调用栈。
从任务分析下拉列表中,选择一个代码段。
注意最长的执行字段值,仿真时间执行的代码部分是最长的。
使用默认值指定仿真时间。修改的值只有如果你想想象在不同的仿真时间函数调用栈。
点击显示。
面板显示:
函数调用栈。
函数调用树。
执行和自拍值描述的代码部分。
执行时间对基线进行比较
你可以比较执行指标从当前仿真模拟值从一个基线。
在将来发布分析部分中,点击比较。
从比较当前数据下拉列表中,选择工作区包含基准仿真的结果变量。你可以通过点击下拉列表更新刷新列表。
点击比较。
面板显示:
函数调用树
执行时期指标的百分比比较两个模拟。
表细胞颜色:
绿色如果当前执行指标小于基线值。
黄色如果当前执行度量大于基线值。
如果工作空间变量为基准仿真代码部分,不包含数据面板显示南
。
视图代码执行概要文件为多个模型块
如果你运行一个顶级模特模拟执行多个模型在硅或公益诉讼模式代码块执行分析启用,您可以使用代码概要分析器生成视图执行度量代码块。
打开模型包含模型块。例如,在命令行输入:
openExample (“是/ SILPILVerificationExample”,…金宝appsupportingFile =“SILModelBlock.slx”)
在银/公益诉讼选项卡,模式节中,指定银/公益诉讼模拟。
在准备节中,指定这些设置:
被测系统- - -
模型块硅/公益诉讼模式
高级模型模式- - -
正常的
模型块
对抗
已经配置为在银模式下运行。为模型块计数器B
,指定这些参数:模拟模式- - -
Software-in-the-loop(银)
代码接口- - -
正常的
这两个模型块参考模型
SILCounter
。生成的执行时间模型块:选择
CounterA
或CounterB
。在模型块选项卡,行动部分中,点击开放的顶级模特。
在银/公益诉讼选项卡,设置画廊,点击功能来
粗
,测量函数的执行时间配置参数SILCounter
来粗(仅参考模型和子系统)
。
运行一个顶级模特仿真:
选择
SILModelBlock
窗口。在银/公益诉讼选项卡,运行部分中,点击运行银/公益诉讼。
自单一的模拟输出复选框被选中时,模拟创建变量
executionProfile
在出
,一个金宝appSimulink.SimulationOutput
对象。当仿真完成,结果画廊,下执行分析结果,点击代码概要分析器。在任务执行面板,任务执行时间视图显示了生成的代码执行指标部分。
生成的信息:
函数执行时间模型参考层次结构,请参阅控制粒度分析。
引用模型的代码执行分析报告,请参阅为多个模型块分析报告
可视化任务调度
您可以使用模拟数据检查员可视化任务调度目标硬件和相关活动。
模拟模式 | 你可以观察到 | 如何 |
---|---|---|
银或公益诉讼 |
任务调度和函数调用的顺序 |
当硅或公益诉讼模拟完成,执行这些操作之一:
|
XCP-based外部 |
任务活动,诊断(运行时),CPU活动和CPU利用率 |
在XCP外部模式模拟,使用仿真数据Inspector视图显示任务调度及相关活动。 仿真后,使用 有关更多信息,请参见可视化任务调度的XCP外部模式模拟。 |