exponenta event banner

Приоритет

Описание

Оптимизация генерируемого кода для повышения эффективности выполнения, уменьшения потребления ОЗУ или баланса между эффективностью выполнения и потреблением ОЗУ.

Настройки

По умолчанию: Balance RAM and speed

Balance RAM and speed

Настройте параметры генерации кода, чтобы сбалансировать ОЗУ и скорость выполнения.

Maximize execution speed

Примените параметры генерации кода, чтобы максимизировать скорость выполнения.

Minimize RAM

Настройте параметры генерации кода, чтобы минимизировать потребление ОЗУ.

Зависимости

  • Включите этот параметр, установив для параметра Level значение Maximum.

  • Для этого параметра требуется лицензия Embedded Coder ®.

  • Этот параметр отображается только для целевых объектов на основе ERT.

Совет

Для каждого значения параметра Priority и Level имеются соответствующие значения параметров в разделе Details. Это некоторые важные различия между этими различными настройками:

  • Если для параметра Level задано значение Minimum (debugging)параметры в разделе Подробно имеют значение offs. Генератор кода не реализует оптимизации, которые удаляют переменные или код, облегчая отладку сгенерированного кода.

  • Параметры настройки для Balanced with Readability и Balance RAM and speed являются одинаковыми, за исключением этих трех параметров:

    • Повторное использование буферов различных размеров и размеров

    • Оптимизация глобального доступа к данным

    • Оптимизация порядка работы блока в сгенерированном коде

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

  • Если объем оперативной памяти ограничен, выберите Minimize RAM установка. Этот параметр позволяет оптимизировать ОЗУ за счет возможного замедления скорости выполнения:

    • Упаковать логические данные в битовые поля

    • Повторное использование буферов различных размеров и размеров

    • Использовать битсеты для сохранения конфигурации состояния

    • Использовать битовые наборы для хранения булевых данных

    Этот параметр также изменяет порядок операций «Оптимизировать блок» в сгенерированном коде из Improved Code Execution Speed кому off.

Для каждого значения параметра Приоритет (Priority) и Уровень (Level) в этой таблице перечислены соответствующие значения параметров в разделе Подробно (Details).

ПараметрыНастройкиПример
УровеньMinimum (debugging)Balanced with readabilityMaximum 
ПриоритетНеприменимо (Н/Д)Н/ДBalance RAM and speedMaximize execution speedMinimize RAM
Подробнее  
Использовать memcpy для назначения вектораOffOnOnOnOnИспользование функции memcpy для оптимизации сгенерированного кода для векторных назначений
Пороговое значение Memcpy (байт)Off64646464Использование функции memcpy для оптимизации сгенерированного кода для векторных назначений
Включить локальные блочные выходыOffOnOnOnOnВключение и повторное использование выходных данных локального блока в сгенерированном коде
Повторное использование выходных данных локальных блоковOffOnOnOnOnВключение и повторное использование выходных данных локального блока в сгенерированном коде
Исключение лишних локальных переменных (сворачивание выражений)OffOnOnOnOnМинимизация вычислений и хранения промежуточных результатов на блочных выходах
Повторное использование глобальных блочных выходовOffOnOnOnOnПовторное использование выходных данных глобального блока в сгенерированном коде
Обновление по месту для блоков назначения и назначения шиныOffOnonOnOnСокращение количества копий данных для блока назначения шины
Повторное использование буферов для блоков чтения и записи хранилища данныхOffOnOnOnOnСокращение количества копий данных для блоков чтения и записи в хранилище данных
Упрощение индексации массивовOffOffOffOnOffУпрощение операций умножения при индексировании массивов
Упаковать логические данные в битовые поляOffOffOffOffOnОптимизация сгенерированного кода путем упаковки логических данных в битовые поля
Повторное использование буферов различных размеров и размеровOffOffOnOffOnПовторное использование буферов различных размеров и размеров
Оптимизация глобального доступа к даннымNoneNoneUse global to hold temporary resultsNoneUse global to hold temporary resultsОптимизация использования глобальных переменных
Оптимизация порядка работы блока в сгенерированном кодеOffOffImproved Code Execution SpeedImproved Code Execution SpeedOffУдаление копий данных путем переупорядочивания операций блока в сгенерированном коде
Использовать битсеты для сохранения конфигурации состоянияOffOffOffOffOnСокращение использования памяти для логических переменных и переменных конфигурации состояния
Использовать битовые наборы для хранения булевых данныхOffOffOffOffOnСокращение использования памяти для логических переменных и переменных конфигурации состояния

Если вы планируете обновить программное обеспечение, помните, что:

  • Установка параметров Уровень (Level) и Приоритет (Priority) позволяет осуществлять последние оптимизации, соответствующие указанным выше параметрам, для каждой последующей версии.

  • Выбор параметра Задать пользовательские оптимизации (Specify custom optimizations) позволяет выбрать отдельные параметры в разделе Подробно (Details). При загрузке модели в будущем выпуске параметры оптимизации, которые были введены в выпусках после принятия программного обеспечения при обновлении, имеют значение off. Если при обновлении программного обеспечения требуется уменьшить количество изменений в созданном коде, этот вариант может оказаться предпочтительным.

Информация командной строки

Параметр: OptimizationPriority
Значение: 'Balanced' | 'Speed'| 'RAM'
По умолчанию: 'Balanced'

Рекомендуемые параметры

ПриложениеНастройка
ОтладкаНикакого воздействия
ОтслеживаемостьНикакого воздействия
ЭффективностьMinimize RAM (ОЗУ), Maximum execution speed (Скорость), Balance RAM and speed (Сбалансированный)
Меры безопасностиНикакого воздействия

См. также

|

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