Main Content

ExecutionTimeInSeconds

Get execution time in seconds for profiled section of code

Description

example

ExecutionTimes = NthSectionProfile.ExecutionTimeInSeconds returns a vector of execution times, measured in seconds, 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.

If you set the CodeProfilingSaveOptions parameter to 'SummaryOnly', NthSectionProfile.ExecutionTimeInSeconds 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.

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 for the code section.
time_vector = seventhSectionProfile.ExecutionTimeInSeconds;

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 for the code section.

time_vector = sixthSectionProfile.ExecutionTimeInSeconds;

Input Arguments

collapse all

Object generated by the coder.profile.ExecutionTime property Sections.

Output Arguments

collapse all

Execution times, in seconds, for section of code. Returned as a vector.

Version History

Introduced in R2013a