分析执行时间数据
后software-in-the-loop (SIL)或processor-in-the-loop(公益诉讼)执行,您可以分析执行数据的使用方法coder.profile.ExecutionTime
和coder.profile.ExecutionTimeSection
类。
在接下来的例子中,您运行SIL执行和应用提供方法来执行数据。
提取卡尔曼估计执行时间数据的代码
-
打开这个例子中获取文件对于本教程:
kalman01.m
——MATLAB®卡尔曼滤波估计量的函数test01_ui.m
- MATLAB文件进行测试kalman01.m
plot_trajectory.m
——文件块实际目标轨迹和卡尔曼估计量的输出position.mat
——输入数据
openExample (“是/ KalmanFilterExample”)
创建一个
coder.EmbeddedCodeConfig
对象。配置= coder.config (“自由”);配置。GenerateReport = true;% HTML报告
配置SIL,使执行时间分析的对象。
配置。VerificationMode =“银”;配置。CodeExecutionProfiling = true;
如果你想为函数生成执行时间配置文件被称为在入口点函数,您还必须禁用OpenMP图书馆。
配置。CodeProfilingInstrumentation = true;配置。EnableOpenMP = false;
生成的代码库
kalman01
MATLAB函数和SIL接口。codegen (“配置”配置,“参数”{0 (2,1)},“kalman01”);
MATLAB运行测试文件
test01_ui
与kalman01_sil
。kalman01_sil
SIL界面吗kalman01
。coder.runTest (“test01_ui”,(“kalman01_sil”。mexext]);
你看到以下消息。
# # #银开始执行“kalman01”终止执行:明确kalman01_sil执行分析数据可供浏览。去仿真数据检查。执行分析报告后终止。目前公布的情节
终止SIL执行过程。点击链接
明确kalman01_sil
。# # #停止SIL执行“kalman01”执行分析报告:报告(getCoderExecutionProfile (kalman01))
-
使用
getCoderExecutionProfile
函数创建一个工作空间变量,执行时间分析数据。executionProfile = getCoderExecutionProfile (“kalman01”);
-
使用
部分
方法。allSections = executionProfile.Sections
allSections = 1 x3 ExecutionTimeTaskSection数组属性:名称数量ExecutionTimeInTicks SelfTimeInTicks TurnaroundTimeInTicks TotalExecutionTimeInTicks TotalSelfTimeInTicks TotalTurnaroundTimeInTicks MaximumExecutionTimeInTicks MaximumExecutionTimeCallNum MaximumSelfTimeInTicks MaximumSelfTimeCallNum MaximumTurnaroundTimeInTicks MaximumTurnaroundTimeCallNum我会ExecutionTimeInSeconds时间
-
指定您想要检查的代码部分。
secondSectionProfile = executionProfile.Sections (2)
secondSectionProfile = ExecutionTimeTaskSection属性:名称:“kalman01”数量:2 ExecutionTimeInTicks: [1 - x300 uint64] SelfTimeInTicks: [1 - x300 uint64] TurnaroundTimeInTicks: [1 - x300 uint64] TotalExecutionTimeInTicks: 6641016 TotalSelfTimeInTicks: 6641016 TotalTurnaroundTimeInTicks: 6641016 MaximumExecutionTimeInTicks: 48864 MaximumExecutionTimeCallNum: 158 MaximumSelfTimeInTicks: 48864 MaximumSelfTimeCallNum: 158 MaximumTurnaroundTimeInTicks: 48864 MaximumTurnaroundTimeCallNum: 158我会:300 ExecutionTimeInSeconds:[1×双]:[300 x1双)
你可以提取特定的属性,例如,一个异形函数的名称。
nameOfSection = secondSectionProfile.Name
nameOfSection = ' kalman01 '
下表列出了信息,你可以从每一个代码提取部分。
财产 描述 的名字
入口点函数的名称 数量
代码部分数量 ExecutionTimeInTicks
向量的执行时间,以计时器滴答声。每个元素包含计时器的区别看代码的开始和结束部分。数据类型是相同的数据类型作为数据类型的定时器用于目标,你可以推断出定时器测量的最大射程。 SelfTimeInTicks
向量的计时器滴答数。每个元素包含蜱虫的数量记录的代码部分,不包括在调用子函数所花费的时间。 TurnaroundTimeInTicks
向量的计时器滴答数。每个元素包含的蜱虫数量记录开始和结束之间的代码部分。除非被抢占的代码,这个数字是相同数量的执行时间。 TotalExecutionTimeInTicks
计时器滴答的总数记录的代码部分在整个执行。 TotalSelfTimeInTicks
计时器滴答声记录总数为异形代码部分在整个执行。然而,这个数字不包括在调用子函数所花费的时间。 TotalTurnaroundTimeInTicks
计时器滴答的总数记录开始和结束之间的异形代码部分在整个执行。除非被抢占的代码,这个数字是一样的总执行时间。 MaximumExecutionTimeInTicks
最大数量的计时器滴答声记录单个调用代码的执行部分。 MaximumExecutionTimeCallNum
调用的数量 MaximumExecutionTimeInTicks
发生。MaximumSelfTimeInTicks
最大数量的计时器滴答声记录单个调用代码部分,但不包括在调用子函数所花费的时间。 MaximumSelfTimeCallNum
调用的数量 MaximumSelfTimeInTicks
发生。MaximumTurnaroundTimeInTicks
最大数量的计时器滴答声记录开始和结束之间的单个调用的异形在执行代码部分。除非代码被抢占,这次是一样的最大执行时间。 MaximumTurnaroundTimeCallNum
调用的数量 MaximumTurnaroundTimeInTicks
发生。我会
调用代码部分的总数在整个执行。 ExecutionTimeInSeconds
向量的执行时间,单位为秒。每个元素包含计时器的区别看代码的开始和结束部分。只有生产 TimerTicksPerSecond
是集。时间
向量的执行时间测量部分的代码。
相关的话题
MATLAB命令
你点击一个链接对应MATLAB命令:
运行该命令通过输入MATLAB命令窗口。Web浏览器不支持MATLAB命令。金宝app
你也可以从下面的列表中选择一个网站:
表现最好的网站怎么走吗
选择中国网站(中文或英文)最佳站点的性能。其他MathWorks国家网站不优化的访问你的位置。