Эффективность

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

Когда вы готовы сгенерировать производственный код, для повышения эффективности используйте опции строения и расширенную оптимизацию. Можно использовать опции и оптимизации, описанные в 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 or C++ и предоставляет эти метрики в отчете о метриках статического кода в отчете генерации кода.

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

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

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

Сгенерируйте код SIMD для функций MATLAB

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