Уменьшите потребление ОЗУ и ПЗУ и увеличьте скорость выполнения кода, исключив копии данных в сгенерированном коде. Генератор кода устраняет некоторые копии данных. Можно исключить другие копии данных, скорректировав определенные настройки параметров модели, задав то же имя для входных и выходных аргументов блоков MATLAB Function и используя сигналы Simulink, чтобы задать повторное использование.
Генератор кода устраняет копии данных из локальных переменных назад в глобальные блоки ввода-вывода структуры путем передачи многоразовых выходов подсистемы в качестве отдельных аргументов вместо в качестве указателя на структуру, хранящуюся в глобальной памяти.
Минимизация расчетов и хранения для промежуточных результатов на выходах блоков
Генератор кода складывает расчеты блоков в одно выражение, вместо того, чтобы генерировать отдельные операторы кода и объявления хранилища для каждого блока в модели.
Повторно используйте выходные выходы глобальных блоков в сгенерированном коде
Генератор кода пытается повторно использовать глобальные переменные.
Включите и повторно используйте выходы локальных блоков в сгенерированном коде
Где это возможно, генератор кода объявляет выходы блоков как локальные переменные, так что он может потенциально повторно использовать эти переменные.
Преобразование копий данных в назначения указателей
Генератор кода оптимизирует сгенерированный код для назначений векторного сигнала, пытаясь заменить for
циклически управляемые назначения элементов и memcpy
вызовы функций с назначениями указателей.
Оптимизация виртуализированных выходных портов
Генератор кода устраняет код и память данных, сопоставленные с корневыми выходными портами, путем хранения сигнала, входящего в корневой выходной порт, как глобальной переменной.
Встроенные инвариантные сигналы
Используйте числовые значения инвариантных сигналов вместо их символьных имен в сгенерированном коде.
Сокращение копирования данных для блоков чтения и записи хранилища данных
Генератор кода пытается удалить копии данных для блоков Data Store Read и Data Store Write.
Уменьшите копии данных для блоков назначения шины
Для моделей, содержащих блок Bus Assignment, если это возможно, генератор кода использует ту же переменную для входа и выхода блока.
Удаление копий данных путем переупорядочивания Блоков операций в сгенерированном коде
Переупорядочьте операции блока в сгенерированном коде, чтобы исключить временные переменные и связанные копии данных.
Если ваша модель имеет оптимальные настройки параметров для удаления копий данных, вы можете удалить дополнительные копии данных с помощью меток сигналов.
Оптимизация использования глобальных переменных
Выберите глобальную оптимизацию ссылок переменной, чтобы удовлетворить требования к использованию памяти и скорости выполнения.
Задайте повторное использование буфера для блоков MATLAB function в пути
Повторно используйте буферы через блоки MATLAB Function.
Задайте повторное использование буфера при помощи Simulink .Signal объектов
Используйте объект сигнала Simulink, чтобы задать повторное использование буфера для нескольких сигналов в пути, который может включать корневые порты входного и выходного портов, блоки Delay и блоки Unit Delay.
Сгенерируйте эффективный код для сигналов шины
Моделируйте шины, чтобы максимизировать эффективность сгенерированного кода.