Просмотр времен выполнения

При запуске выполнения SIL или PIL с включенным профилированием времени выполнения программное обеспечение генерирует сообщение на вкладке Test Output. Для примера:

Current plot held
### Starting SIL execution for 'kalman01'
    To terminate execution: clear kalman01_sil
    Execution profiling data is available for viewing. Open Simulation Data Inspector.
    Execution profiling report available after termination.
Current plot released

Чтобы наблюдать потоковые времена выполнения во время выполнения, нажмите Simulation Data Inspector ссылка.

Чтобы открыть отчет о профилировании выполнения кода:

  1. Нажмите на Stop SIL Verification ссылка.

    Программа завершает процесс выполнения и отображает новую ссылку.

    ### Stopping SIL execution for 'kalman01'
        Execution profiling report: report(getCoderExecutionProfile('kalman01'))

  2. Щелкните новую ссылку.

В докладе представлены:

  • A сводных данных.

  • Информация о профилированных секциях кода, которая включает измерения времени для:

    • The entry_point_fn_initialize функция, для примера, kalman01_initialize.

    • Функция точки входа, например kalman01.

    • The entry_point_fn_terminate функция, для примера, kalman01_terminate.

  • Определения для метрик.

По умолчанию в отчете отображается время в наносекундах (10-9 секунд). Можно задать модуль времени и численный формат отображения. Для примера отобразить время в микросекундах (10-6 секунд), используйте report команда:

% Create workspace variable
executionProfile=getCoderExecutionProfile('kalman01');

report(executionProfile, ...
       'Units', 'Seconds', ...
       'ScaleFactor', '1e-06', ...
       'NumericFormat', '%0.3f')

Отчет отображает время в секундах только, если таймер калиброван, то есть устанавливается количество тактов в секунду. В Windows® machine, программное обеспечение определяет это значение для SIL симуляции. На Linux® машина, необходимо вручную калибровать таймер. Например, если скорость процессора составляет 1 ГГц, задайте количество тактов в секунду:

executionProfile.TimerTicksPerSecond = 1e9;

Чтобы просмотреть метрики во время выполнения для секции кода в Командном окне, в соответствующей строке щелкните значок.

Чтобы отобразить измеренные времена выполнения, щелкните значок Simulation Data Inspector. Можно использовать Данные моделирования Inspector для управления и сравнения графиков из различных исполнений.

Чтобы отобразить распределение во время выполнения, щелкните значок.

В этом примере, чтобы создать гистограмму, программное обеспечение использует следующие команды:

executionProfile=getCoderExecutionProfile('kalman01')
section=executionProfile.Sections(2);
data=section.ExecutionTimeInSeconds;
histogram(data, 30,'Normalization','probability');
Программа создает гистограмму, только если количество вызовов функции больше единицы.

В следующей таблице перечислены сведения, представленные в профилях секции кода.

СтолбецОписание
РазделИмя функции, из которой генерируется код.
Максимальное время выполненияСамое длительное время между началом и концом секции кода.
Среднее время выполненияСреднее время между началом и концом секции кода.
Максимальное собственное времяМаксимальное время выполнения, исключая время в дочерних разделах.
Среднее собственное времяСреднее время выполнения, исключая время в дочерних разделах.
ВызовыКоличество вызовов в секцию кода.
Значок, который вы кликнете, чтобы отобразить профилированную секцию кода.
Значок, который вы нажимаете, чтобы отобразить измеренные времена выполнения с Данными моделирования Inspector.
Значок, который вы кликните, чтобы отобразить распределение во время выполнения для профилированной секции кода.

Похожие темы