文档

分析代码执行数据

在SIL或PIL模拟之后,您可以使用来自coder.profile.ExecutionTimecoder.profile.ExecutionTimeSection类。

  1. 开放rtwdemo_sil_topmodel

  2. 配置参数>代码生成>验证窗格,指定分析选项:

    • 选择测量任务执行时间复选框。

    • 指定一个工作空间变量例如,myExecutionProfile

    • 保存选项下拉列表中,选择所有的数据

  3. 运行SIL模拟。

软件生成工作区变量myExecutionProfile,一个coder.profile.ExecutionTime对象。

要获得具有分析数据的代码段的总数,请使用部分方法。

>> no_of_Sections = myExecutionProfile. >> no_of_Sections = myExecutionProfile. >部分no_of_Sections = 1×2 ExecutionTimeTaskSection array with properties: Name Number ExecutionTimeInTicks SelfTimeInTicks TurnaroundTimeInTicks TotalExecutionTimeInTicks TotalSelfTimeInTicks TotalTurnaroundTimeInTicks MaximumExecutionTimeInTicks MaximumExecutionTimeCallNum MaximumSelfTimeInTicks MaximumSelfTimeCallNum MaximumTurnaroundTimeInTicks MaximumTurnaroundTimeCallNum NumCalls ExecutionTimeInSeconds Time
得到coder.profile.ExecutionTimeSection对象,请使用该方法部分
> > FirstSectionProfile = myExecutionProfile.Sections (1) SecondSectionProfile = myExecutionProfile.Sections (2) FirstSectionProfile = ExecutionTimeTaskSection属性:名称:“rtwdemo_sil_topmodel_initialize”数量:1 ExecutionTimeInTicks: 1188 SelfTimeInTicks: 1188 TurnaroundTimeInTicks: 1188 TotalExecutionTimeInTicks:1188 TotalSelfTimeInTicks: 1188 TotalTurnaroundTimeInTicks: 1188 MaximumExecutionTimeInTicks: 1188 MaximumExecutionTimeCallNum: 1 MaximumSelfTimeInTicks: 1188 MaximumSelfTimeCallNum: 1 MaximumTurnaroundTimeInTicks: 1188 MaximumTurnaroundTimeCallNum: 1我会:1 ExecutionTimeInSeconds: 5.4000 e-07时间:0 SecondSectionProfile = ExecutionTimeTaskSection属性:名称:“rtwdemo_sil_topmodel_step 0.1[0]的数字:2 ExecutionTimeInTicks:[1×101 uint64] SelfTimeInTicks:[1×101 uint64] TurnaroundTimeInTicks:[1×101 uint64] TotalExecutionTimeInTicks: 70316 TotalSelfTimeInTicks: 70316 TotalTurnaroundTimeInTicks: 70316 MaximumExecutionTimeInTicks:2448 MaximumExecutionTimeCallNum: 2 MaximumSelfTimeInTicks: 2448 MaximumSelfTimeCallNum: 2 MaximumTurnaroundTimeInTicks: 2448 MaximumTurnaroundTimeCallNum: 2 NumCalls: 101 ExecutionTimeInSeconds: [1×101 double] Time: [101×1 double]

使用coder.profile.ExecutionTimeSection方法提取特定代码段的分析信息。例如,使用的名字获取被分析任务的名称。

>> name_of_section = SecondSectionProfile. >> name_of_section = SecondSectionProfile. >的名字name_of_section = rtwdemo_sil_topmodel_step [0.1 0]

如果定时器是未校准的,你知道定时器的速率,例如2.2 GHz,你可以使用coder.profile.ExecutionTime方法TimerTicksPerSecond校准计时器:

> > myExecutionProfile。TimerTicksPerSecond= 2.2e9; >> SecondSectionProfile = myExecutionProfile.Sections(2);

相关的话题