Выберите уровень оптимизации, что вы хотите обратиться к сгенерированному коду.
Значение по умолчанию:
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.
Параметры | Настройки | Пример | ||||
---|---|---|---|---|---|---|
Level | Minimum (debugging) | Balanced with readability | Maximum | |||
Priority | Не применимый (N/A) | Нет данных | Balance RAM and speed | Maximize execution speed | Minimize RAM | |
Details | ||||||
Use memcpy for vector assignment | Off | On | On | On | On | Используйте Функцию memcpy, чтобы Оптимизировать Сгенерированный код для Векторных Присвоений |
Memcpy threshold (bytes) | Off | 64 | 64 | 64 | 64 | Используйте Функцию memcpy, чтобы Оптимизировать Сгенерированный код для Векторных Присвоений |
Enable local block outputs | Off | On | On | On | On | Включите и повторное использование локальный блок Выходные параметры в сгенерированном коде |
Reuse local block outputs | Off | On | On | On | On | Включите и повторное использование локальный блок Выходные параметры в сгенерированном коде |
Eliminate superfluous local variables (expression folding) | Off | On | On | On | On | Минимизируйте вычисления и устройство хранения данных для промежуточных результатов в блоке Выходные параметры |
Reuse global block outputs | Off | On | On | On | On | Глобальная переменная повторного использования блокирует Выходные параметры в сгенерированном коде (Embedded Coder) |
Perform in-place updates for Assignment and Bus Assignment blocks | Off | On | on | On | On | Данные копируют сокращение для блока Bus Assignment (Embedded Coder) |
Reuse buffers for Data Store Read and Data Store Write blocks | Off | On | On | On | On | Сокращение копии данных для блоков записи чтения и хранилища данных хранилища данных (Embedded Coder) |
Simplify array indexing | Off | Off | Off | On | Off | Упростите умножают операции в индексации массива (Embedded Coder) |
Pack Boolean data into bitfields | Off | Off | Off | Off | On | Оптимизируйте сгенерированный код путем упаковки булевых данных в битовые поля (Embedded Coder) |
Reuse buffers of different sizes and dimensions | Off | Off | On | Off | On | Буферы повторного использования различных размеров и размерностей (Embedded Coder) |
Optimize global data access | None | None | Use global to hold temporary results | None | Use global to hold temporary results | Оптимизируйте использование глобальной переменной (Embedded Coder) |
Optimize block operation order in the generated code | Off | Off | Improved Code Execution Speed | Improved Code Execution Speed | Off | Удалите копии данных путем переупорядочения блочных операций в сгенерированном коде (Embedded Coder) |
Use bitsets for storing state configuration | Off | Off | Off | Off | On | Уменьшайте использование памяти для булевых и переменных настройки состояния (Embedded Coder) |
Use bitsets for storing Boolean data | Off | Off | Off | Off | On | Уменьшайте использование памяти для булевых и переменных настройки состояния (Embedded Coder) |
Если вы планируете обновление вашего программного обеспечения, имеют в виду что:
Установка Level и параметров Priority включает последнюю оптимизацию, соответствующую с вышеупомянутыми установками параметров для каждой последующей версии.
Выбор параметра Specify custom optimizations позволяет вам выбрать отдельные параметры в разделе Details. Когда вы загружаете модель в будущем релизе, любые параметры оптимизации, которые были введены в релизах после того, как вы приняли программное обеспечение к тому, когда вы обновляете, устанавливаются на off
. Если вы хотите сократить количество изменений в сгенерированном коде, когда вы обновляете свое программное обеспечение, эта опция может быть хорошим выбором.
Параметр:
OptimizationPriority |
Значение:
'Minimum (Debugging)' | 'Balanced with Readability' | 'Maximum' |
Значение по умолчанию:
'Maximum' |
Приложение | Установка |
---|---|
Отладка | Minimum (debugging) |
Трассируемость | Minimum (debugging) |
Эффективность | На основе ваших целей выберите Balanced with Readability или Maximum . Если вы выбираете Maximum , устанавливаете параметр Priority. |
Меры безопасности | Никакое влияние |
Приоритет | Задайте пользовательскую оптимизацию