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

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

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

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

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

    • Функция _initialize entry_point_fn, например, kalman01_initialize.

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

    • Функция _terminate entry_point_fn, например, kalman01_terminate.

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

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

executionProfile=getCoderExecutionProfile('kalman01'); % Create workspace var
report(executionProfile, ...
       'Units', 'Seconds', ...
       'ScaleFactor', '1e-06', ...
       'NumericFormat', '%0.3f')

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

executionProfile.TimerTicksPerSecond = 1e9;

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

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

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

Похожие темы