Когда вы запускаете 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
ссылка.
Открыть отчет профилирования выполнения кода:
Нажмите Stop SIL Verification
ссылка.
Программное обеспечение отключает процесс выполнения и отображает новую ссылку.
### Stopping SIL execution for 'kalman01'
Execution profiling report: report(getCoderExecutionProfile('kalman01'))
Щелкните по новой ссылке.
Отчет обеспечивает:
Сводные данные.
Информация о профилируемых секциях кода, которая включает измерения времени для:
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');
В следующей таблице перечислены информацию, предоставленную в профилях секции кода.
Столбец | Описание |
---|---|
Раздел | Имя функции, от которой сгенерирован код. |
Максимальное время выполнения | Самое долгое время между началом и концом секции кода. |
Среднее время выполнения | Среднее время между началом и концом секции кода. |
Максимум сам время | Максимальное время выполнения, исключая время в дочерних разделах. |
Среднее значение сам время | Среднее время выполнения, исключая время в дочерних разделах. |
Вызовы | Количество вызовов секции кода. |
Значок, по которому вы кликаете, чтобы отобразить профилируемую секцию кода. | |
Значок, по которому вы кликаете, чтобы отобразить измеренные времена выполнения с Инспектором Данных моделирования. | |
Значок, по которому вы кликаете, чтобы отобразить распределение времени выполнения для профилируемой секции кода. |