exponenta event banner

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

При выполнении 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');
Программа создает гистограмму только в том случае, если число вызовов функции больше единицы.

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

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

Связанные темы