Уровень

Описание

Выберите уровень оптимизации, который необходимо применить к сгенерированному коду.

Настройки

По умолчанию: Maximum

Minimum (Debugging)

Настройте настройки генерации кода для отладки.

Balanced with Readability

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

Maximum

Настройте настройки генерации кода на основе ваших целей эффективности кода. Выбор этой настройки включает параметр Priority. Установите значение параметра Priority одно из следующих значений:

  • Balance RAM and speed (default setting)

  • Maximum execution speed

  • Minimize RAM

Зависимости

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

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

Совет

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

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

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

    • Reuse buffers of different sizes and dimensions

    • Optimize global data access

    • Optimize block operation order in the generated code

    Вышеописанные оптимизации могут потенциально повредить читаемости, потому что они пересекают контуры атомарной подсистемы, и Optimize block operation order in the generated code могут изменить порядок выполнения блока в сгенерированном коде, так что он отличается от в симуляции.

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

    • Pack Boolean data into bitfields

    • Reuse buffers of different sizes and dimensions

    • Use bitsets for storing state configuration

    • Use bitsets for storing Boolean data

    Этот параметр также меняет Optimize block operation order in the generated code на Improved Code Execution Speed на off.

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

ПараметрыНастройкиПример
LevelMinimum (debugging)Balanced with readabilityMaximum 
PriorityНеприменимо (N/A)Н/ДBalance RAM and speedMaximize execution speedMinimize RAM
Details  
Use memcpy for vector assignmentOffOnOnOnOnИспользуйте функцию memcpy для оптимизации сгенерированного кода для назначений векторов
Memcpy threshold (bytes)Off64646464Используйте функцию memcpy для оптимизации сгенерированного кода для назначений векторов
Enable local block outputsOffOnOnOnOnВключите и повторно используйте выходы локальных блоков в сгенерированном коде
Reuse local block outputsOffOnOnOnOnВключите и повторно используйте выходы локальных блоков в сгенерированном коде
Eliminate superfluous local variables (expression folding)OffOnOnOnOnМинимизация расчетов и хранения для промежуточных результатов на выходах блоков
Reuse global block outputsOffOnOnOnOnПовторно используйте выходные выходы глобальных блоков в сгенерированном коде
Perform in-place updates for Assignment and Bus Assignment blocksOffOnonOnOnСокращение копирования данных для блока «Назначение шины»
Reuse buffers for Data Store Read and Data Store Write blocksOffOnOnOnOnСокращение копирования данных для блоков чтения и записи хранилища данных
Simplify array indexingOffOffOffOnOffУпрощение операций умножения при индексации массивов
Pack Boolean data into bitfieldsOffOffOffOffOnОптимизируйте сгенерированный код путем упаковки булевых данных в битовые поля
Reuse buffers of different sizes and dimensionsOffOffOnOffOnПереиспользуйте буферы разных размеров и размерностей
Optimize global data accessNoneNoneUse global to hold temporary resultsNoneUse global to hold temporary resultsОптимизация использования глобальных переменных
Optimize block operation order in the generated codeOffOffImproved Code Execution SpeedImproved Code Execution SpeedOffУдаление копий данных путем переупорядочивания Блоков операций в сгенерированном коде
Use bitsets for storing state configurationOffOffOffOffOnУменьшите использование памяти для логических переменных и переменных строения состояния
Use bitsets for storing Boolean dataOffOffOffOffOnУменьшите использование памяти для логических переменных и переменных строения состояния

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

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

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

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

Параметр: OptimizationLevel
Значение: 'level0' | 'level1'| 'level2'
По умолчанию: 'level2'

Отображение между значением параметров Command-Line и настройкой параметра UI

Значение параметров командной строкиНастройка параметров пользовательского интерфейса
level0Minimum (debugging)
level1Balanced with Readability
level2Maximum

Рекомендуемые настройки

ПриложениеНастройка
ОтладкаMinimum (debugging)
ТрассируемостьMinimum (debugging)
ЭффективностьИсходя из ваших целей, выберите Balanced with Readability или Maximum. Если вы выбираете Maximum, установите параметр Priority.
Меры безопасностиНикакого влияния

См. также

|

Похожие темы