# ExecutionTimeInTicks

Get execution times in timer ticks for profiled section of code

## Syntax

``ExecutionTimes = NthSectionProfile.ExecutionTimeInTicks``

## Description

example

````ExecutionTimes = NthSectionProfile.ExecutionTimeInTicks` returns a vector of execution times, measured in timer ticks, for the profiled section of code. Each element of `ExecutionTimes` contains the difference between the timer reading at the start and the end of the section. The data type of the arrays is the same as the data type of the timer used on the target, which allows you to infer the maximum range of the timer measurements.If you set the `CodeProfilingSaveOptions` parameter to `'SummaryOnly'`, `NthSectionProfile.ExecutionTimeInTicks` returns an empty array. To change that parameter, open the Configuration Parameters dialog box by pressing Ctrl+E, open the Verification pane under Code Generation, and change the Save options parameter to `All data`.You can calculate the execution time in seconds using the formula $ExecutionTimeInSecs=ExecutionTimeInTicks/TimerTicksPerSecond$```

## Examples

collapse all

If you have a model `myModel.slx` that can run a SIL, PIL, or XCP-based external mode simulation, you can configure the model to generate a workspace variable that contains execution time measurements.

```set_param('myModel', 'CodeExecutionProfiling', 'on'); set_param('myModel', 'CodeProfilingInstrumentation', 'detailed'); set_param('myModel', 'CodeProfilingSaveOptions', 'AllData');```
When you run the command `sim('myModel')`, the simulation generates the variable `executionProfile` (default). At the end of the simulation, get the profile for a code section. For example:
`seventhSectionProfile = executionProfile.Sections(7);`
Then, get the vector of execution times (measured in timer ticks) for the code section.
`time_vector = seventhSectionProfile.ExecutionTimeInTicks;`

In this example, run a SIL model simulation where the model generates a workspace variable that contains execution time measurements.

```openExample('ecoder/SILPILVerificationExample', ... supportingFile='SILTopModel.slx') % Disable Simulink Code Coverage and third-party code coverage analysis set_param('SILTopModel',... 'CovEnable', 'off'); covSettings = get_param('SILTopModel', 'CodeCoverageSettings'); covSettings.CoverageTool = 'None'; set_param('SILTopModel', 'CodeCoverageSettings', covSettings); % Configure code execution time profiling set_param('SILTopModel',... 'CodeExecutionProfiling', 'on'); set_param('SILTopModel',... 'CodeProfilingInstrumentation', 'detailed'); set_param('SILTopModel',... 'CodeProfilingSaveOptions', 'AllData'); simOut = sim('SILTopModel');```
The simulation generates the variable `executionProfile` (default) in the object `simOut`.

At the end of the simulation, get the profile for the sixth code section.

`sixthSectionProfile = simOut.executionProfile.Sections(6);`

Get the vector of execution times (measured in timer ticks) for the code section.

`time_vector = sixthSectionProfile.ExecutionTimeInTicks;`

## Input Arguments

collapse all

The `NthSectionProfile` is a `coder.profile.ExecutionTimeSection` object generated by the `coder.profile.ExecutionTime` property `Sections`.

Example: `NthSectionProfile`

## Output Arguments

collapse all

The `SelfExecutionTimes` is a vector of execution times, in timer ticks, for profiled section of code.

## Version History

Introduced in R2012b