Приоритет

Описание

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

Настройки

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

Balance RAM and speed

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

Maximize execution speed

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

Minimize RAM

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

Зависимости

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

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

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

Совет

Для каждого 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. Если вы хотите уменьшить количество изменений в сгенерированном коде при обновлении программного обеспечения, эта опция может быть хорошим выбором.

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

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

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

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

См. также

|

Похожие темы

Для просмотра документации необходимо авторизоваться на сайте