文档帮助中心文档
在一个软件循环(SIL)或循环(PIL)执行后,您可以使用来自的方法分析执行时间数据Coder.Profile.executionTime.和编码器.profile.executiontimesection.课程。
Coder.Profile.executionTime.
编码器.profile.executiontimesection.
在以下示例中,您可以执行SIL执行并将提供的方法应用于执行时间数据。
运行SIL执行以生成执行时间数据
复制matlab.®代码到工作文件夹。
src_dir =...fullfile(docroot,'工具箱','编码器','例子','卡尔曼');COPYFILE(FullFile(SRC_DIR,“kalman01.m”),“。”)COPYFILE(FullFile(SRC_DIR,“test01_ui.m”),“。”)COPYFILE(FullFile(SRC_DIR,“plot_trajectory.m”),“。”)COPYFILE(FullFile(SRC_DIR,“position.mat”),“。”)
创建一个编码器。EmbeddedCodeConfig目的。
编码器。EmbeddedCodeConfig
config = coder.config(“自由”);config.generateReport = true;%HTML报告
为SIL配置对象并启用执行时间分析。
配置。VerificationMode =“银”;配置。CodeExecutionProfiling = true;
如果要为入门点函数中调用的函数生成执行时间配置文件,则还必须禁用OpenMP库。
配置。CodeProfilingInstrumentation = true;配置。EnableOpenMP = false;
的库代码kalman01MATLAB函数和SIL接口。
kalman01
codegen (“配置”,config,“参数”,{zeros(2,1)},'卡尔曼01');
运行MATLAB测试文件test01_ui与kalman01_sil.kalman01_sil是SIL接口kalman01.
test01_ui
kalman01_sil
编码器.RULEST(“test01_ui”,[“kalman01_sil”。mexext]);
您可以看到以下消息。
### begin SIL execution for 'kalman01'明确kalman01_sil执行分析数据可供查看。去仿真数据检查.终止后可用的执行分析报告。目前公布的情节
终止SIL执行过程。点击链接明确kalman01_sil.
明确kalman01_sil
###停止“kalman01”执行分析报告的SIL执行:报告(getCoderExecutionProfile (kalman01))
创建保存执行时间数据的工作区变量
使用getcoderexecutionprofile.函数创建保存执行时间分析数据的工作区变量。
getcoderexecutionprofile.
ExecutionProfile = getcoderexecutionProfile('卡尔曼01');
提取代码部分
使用部分方法。
部分
AllSections = ExecutionProfile.sections.
带有属性的ExecutionTimeTaskSection数组:名字数ExecutionTimeInTicks SelfTimeInTicks TurnaroundTimeInTicks TotalExecutionTimeInTicks TotalSelfTimeInTicks TotalTurnaroundTimeInTicks MaximumExecutionTimeInTicks MaximumExecutionTimeCallNum MaximumSelfTimeInTicks MaximumSelfTimeCallNum MaximumTurnaroundTimeInTicks MaximumTurnaroundTimeCallNum我会ExecutionTimeInSeconds时间
从特定代码段提取执行时间数据
指定要检查的代码部分。
secondSectionProfile = executionProfile.Sections (2)
secondSectionProfile = ExecutionTimeTaskSection与属性:名称: 'kalman01' 数:2个ExecutionTimeInTicks:[1x300 UINT64] SelfTimeInTicks:[1x300 UINT64] TurnaroundTimeInTicks:[1x300 UINT64] TotalExecutionTimeInTicks:6641016个TotalSelfTimeInTicks:6641016个TotalTurnaroundTimeInTicks:6641016个MaximumExecutionTimeInTicks:48864 MaximumExecutionTimeCallNum:158个MaximumSelfTimeInTicks:48864MaximumSelfTimeCallNum:158个MaximumTurnaroundTimeInTicks:48864 MaximumTurnaroundTimeCallNum:158个NumCalls:300个ExecutionTimeInSeconds:[1x300双]时间:[300x1双]
您可以提取特定的属性,例如,被分析函数的名称。
nameOfSection = secondSectionProfile。的名字
nameOfSection = ' kalman01 '
下表列出了可以从每个代码段中提取的信息。
的名字
数量
ExecutionTimeInTicks
SelfTimeInTicks
TurnaroundTimeInTicks
totalexecutiontomeinticks.
TotalSelfTimeInTicks
TotalTurnaroundTimeInTicks
MaximumExecutionTimeInTicks
MaintaineExecutionTimeCallnum.
MaximureSelftimeinticks.
MaximumSelfTimeCallNum
MainirmitTurnaroundTime Inticks.
MaximumTurnaroundTimeCallNum
numcalls.
ExecutionTimeInSeconds
TimerTicksPerSecond
时间
你点击一个链接对应于这个MATLAB命令:
通过在MATLAB命令窗口中输入命令来运行命令。Web浏览器不支持MATLAB命令。金宝app
选择一个网站,在那里获得翻译的内容,并看到当地的活动和优惠。根据您的位置,我们建议您选择:.
您还可以从以下列表中选择一个网站:
选择中国网站(中文或英文)以获得最佳网站性能。其他MathWorks国家站点没有针对您所在位置的访问进行优化。
与当地办事处联系