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