Уровень

Описание

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

Настройки

Значение по умолчанию: Maximum

Minimum (Debugging)

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

Balanced with Readability

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

Maximum

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

  • Balance RAM and speed (default setting)

  • Maximum execution speed

  • Minimize RAM

Зависимости

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

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

Советы

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

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

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

  • Если вы ограничили RAM, выберите Minimize RAM установка. Эта установка включает эту оптимизацию, которая уменьшает 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Данные копируют сокращение для блока Bus Assignment
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'

Отображение между значением параметров командной строки и установкой параметра пользовательского интерфейса

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

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

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

Смотрите также

|

Похожие темы