exponenta event banner

Работа

Профилирование времени выполнения, профилирование использования памяти, оптимизированный код

Когда вы готовы к созданию производственного кода, для повышения производительности используйте опции конфигурации и расширенные оптимизации. Можно использовать опции и оптимизации, описанные в документации по продукту MATLAB ® Coder™. Embedded Coder ® также позволяет использовать профилирование времени выполнения и использование памяти для анализа производительности.

Использовать профилирование времени выполнения для:

  • Определите, соответствует ли созданный код требованиям к оборудованию в реальном времени.

  • Определение разделов кода, требующих повышения производительности.

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

Функции

развернуть все

ExecutionTimeInSecondsПолучение времени выполнения в секундах для профилированного раздела кода (генерация кода MATLAB)
ExecutionTimeInTicksПолучение времени выполнения в засечках таймера для профилированного раздела кода (генерация кода MATLAB)
getCoderExecutionProfileИзвлечь профиль времени выполнения для кода, сгенерированного из функции MATLAB (генерация кода MATLAB)
NameПолучение имени профилированного раздела кода (генерация кода MATLAB)
NumberПолучение номера, уникально идентифицирующего профилированный раздел кода (генерация кода MATLAB)
NumCallsОбщее число вызовов секции профилированного кода (генерация кода MATLAB)
reportОткрыть отчет по профилированию выполнения кода и указать отображение измерений времени (генерация кода MATLAB)
SectionsПолучить массив coder.profile.ExecutionTimeSection объекты для профилированных разделов кода (генерация кода MATLAB)
SelfTimeInTicksПолучение количества таймерных делений, записанных для профилированного раздела кода, за исключением времени, затраченного на дочерние функции (генерация кода MATLAB)
TimeВремя, в течение которого выполняются измерения времени выполнения секции кода (генерация кода MATLAB)
TimerTicksPerSecondПолучение и установка количества отметок таймера в секунду (генерация кода MATLAB)
TotalExecutionTimeInTicksПолучение общего количества отметок таймера, записанных для профилированного раздела кода (генерация кода MATLAB)
TotalSelfTimeInTicksПолучение общего количества отметок таймера, записанных для профилированного раздела кода, за исключением времени, затраченного на дочерние функции (генерация кода MATLAB)
TotalTurnaroundTimeInTicksПолучение общего количества отметок таймера между началом и окончанием профилированного раздела кода за все время выполнения. (генерация кода MATLAB)
TurnaroundTimeInTicksПолучение количества таймерных делений между началом и окончанием профилированного раздела кода (генерация кода MATLAB)
MaximumExecutionTimeCallNumПолучение номера вызова, при котором возникло максимальное количество отметок таймера (генерация кода MATLAB)
MaximumExecutionTimeInTicksПолучение максимального количества отметок таймера для одиночного вызова профилированного раздела кода (генерация кода MATLAB)
MaximumSelfTimeCallNumПолучение номера вызова, при котором возникло максимальное количество отметок таймера, исключая время, проведенное в дочерних функциях (генерация кода MATLAB)
MaximumSelfTimeInTicksПолучение максимального количества таймерных делений, записанных для профилированного раздела кода, за исключением времени, затраченного на дочерние функции (генерация кода MATLAB)
MaximumTurnaroundTimeCallNumПолучение номера вызова для вызова секции кода с максимальным количеством отметок таймера между началом и окончанием (генерация кода MATLAB)
MaximumTurnaroundTimeInTicksПолучение максимального количества отметок таймера между началом и окончанием одного вызова профилированного раздела кода (генерация кода MATLAB)

Темы

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

Профилирование времени выполнения для SIL и PIL

Зачем измерять время выполнения кода, созданного из функций точки входа.

Создать профиль времени выполнения

Включение профилирования времени выполнения для выполнения ПО в цикле (SIL) или процессора в цикле (PIL).

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

Откройте отчет о профилировании выполнения кода, созданный при выполнении SIL или PIL.

Анализ данных времени выполнения

Используйте линейные команды для анализа измерений времени выполнения из выполнения SIL или PIL.

Профилирование использования памяти

Создание отчета о показателях статического кода для кода, сгенерированного из кода MATLAB

Создайте и изучите пример отчета по статическим кодам.

Метрики статического кода

Генератор кода выполняет статический анализ сгенерированного кода C или C++ и предоставляет эти метрики в отчете о метриках статического кода в отчете о создании кода.

Скорость выполнения

Упрощение операций умножения для индексирования массивов в циклах

Замените операции умножения операциями добавления при индексировании массива в циклах в коде C/C + +, сгенерированном из кода MATLAB.

Создание кода SIMD для функций MATLAB

Повысьте скорость выполнения генерируемого кода с помощью технологий Intel SSE и Intel AVX.