Main Content

target.Timer class

Package: target

Provide timer details for processor

Description

Use the target.Timer class to provide timer details for your processor. For example, information about the C or C++ function interface and implementation, frequency, and timer count direction. To provide information about instrumenting C or C++ code for profiling, you can associate the timer details with a target.Processor object.

To create a target.Timer object, use the target.create function.

Properties

expand all

Name of timer.

Attributes:

GetAccess
public
SetAccess
public

Direction of timer count.

Attributes:

GetAccess
public
SetAccess
public

Information about the API implementation, which is used to determine the current time.

Attributes:

GetAccess
public
SetAccess
public

Frequency of the unit returned by the timer function. This value can be used to convert timer function output to seconds. The helper class target.unit.Frequency contains some common frequency units.

Attributes:

GetAccess
public
SetAccess
public

Data Types: uint64

Examples

collapse all

Create a timer object for your development computer.

Create the function signature for a timer. In this example, the function returns a uint64 data type and the function name timestamp_x86.

timerSignature = target.create('Function');
timerSignature.Name = 'timestamp_x86';
timerSignature.ReturnType = 'uint64';

Capture the function in an API object.

timerApi = target.create('API');
timerApi.Functions = timerSignature;
timerApi.Language = target.Language.C;
timerApi.Name = 'Linux Timer API';

Capture the dependencies of the function, that is, the source and header files that are required to run the function.

timerDependencies = target.create('BuildDependencies');
timerDependencies.IncludeFiles = {'host_timer_x86.h'};
timerDependencies.IncludePaths = {'$(MATLAB_ROOT)...
                                  /toolbox/coder/profile/src'};
timerDependencies.SourceFiles = {'host_timer_x86.c'};

Create an object that combines the API and dependencies.

timerImplementation = target.create('APIImplementation');
timerImplementation.API = timerApi;
timerImplementation.BuildDependencies = timerDependencies;
timerImplementation.Name = 'Linux Timer Implementation';

Create the timer object and associate it with the timer information.

timer = target.create('Timer');
timer.APIImplementation = timerImplementation;
timer.Name = 'Linux Timer';

Assign the timer and add-ons to the processor object.

processor = target.get('Processor', 'Intel-x86-64 (Linux 64)');
processor.Timers = timer;
Introduced in R2020b