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

Когда вы запускаете 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. Щелкните по новой ссылке.

Отчет обеспечивает:

  • Сводные данные.

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

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

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

    • 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® программное обеспечение определяет это значение для SIL симуляции. На машине Linux® необходимо вручную калибровать таймер. Например, если ваша скорость процессора составляет 1 ГГц, задайте количество меток деления таймера в секунду:

executionProfile.TimerTicksPerSecond = 1e9;

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

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

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

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

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

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

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

Похожие темы