Сокращение копирования данных

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

Уменьшите потребление ОЗУ и ПЗУ и увеличьте скорость выполнения кода, исключив копии данных в сгенерированном коде. Генератор кода устраняет некоторые копии данных. Можно исключить другие копии данных, скорректировав определенные настройки параметров модели, задав то же имя для входных и выходных аргументов блоков MATLAB Function и используя сигналы Simulink, чтобы задать повторное использование.

Темы

Сокращение копирования данных по умолчанию

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

Генератор кода устраняет копии данных из локальных переменных назад в глобальные блоки ввода-вывода структуры путем передачи многоразовых выходов подсистемы в качестве отдельных аргументов вместо в качестве указателя на структуру, хранящуюся в глобальной памяти.

Минимизация расчетов и хранения для промежуточных результатов на выходах блоков

Генератор кода складывает расчеты блоков в одно выражение, вместо того, чтобы генерировать отдельные операторы кода и объявления хранилища для каждого блока в модели.

Повторно используйте выходные выходы глобальных блоков в сгенерированном коде

Генератор кода пытается повторно использовать глобальные переменные.

Включите и повторно используйте выходы локальных блоков в сгенерированном коде

Где это возможно, генератор кода объявляет выходы блоков как локальные переменные, так что он может потенциально повторно использовать эти переменные.

Преобразование копий данных в назначения указателей

Генератор кода оптимизирует сгенерированный код для назначений векторного сигнала, пытаясь заменить for циклически управляемые назначения элементов и memcpy вызовы функций с назначениями указателей.

Оптимизация виртуализированных выходных портов

Генератор кода устраняет код и память данных, сопоставленные с корневыми выходными портами, путем хранения сигнала, входящего в корневой выходной порт, как глобальной переменной.

Встроенные инвариантные сигналы

Используйте числовые значения инвариантных сигналов вместо их символьных имен в сгенерированном коде.

Сокращение копирования данных для блоков чтения и записи хранилища данных

Генератор кода пытается удалить копии данных для блоков Data Store Read и Data Store Write.

Уменьшите копии данных для блоков назначения шины

Для моделей, содержащих блок Bus Assignment, если это возможно, генератор кода использует ту же переменную для входа и выхода блока.

Сокращение копирования данных по спецификациям

Удаление копий данных путем переупорядочивания Блоков операций в сгенерированном коде

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

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

Если ваша модель имеет оптимальные настройки параметров для удаления копий данных, вы можете удалить дополнительные копии данных с помощью меток сигналов.

Оптимизация использования глобальных переменных

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

Задайте повторное использование буфера для блоков MATLAB function в пути

Повторно используйте буферы через блоки MATLAB Function.

Задайте повторное использование буфера при помощи Simulink .Signal объектов

Используйте объект сигнала Simulink, чтобы задать повторное использование буфера для нескольких сигналов в пути, который может включать корневые порты входного и выходного портов, блоки Delay и блоки Unit Delay.

Сгенерируйте эффективный код для сигналов шины

Моделируйте шины, чтобы максимизировать эффективность сгенерированного кода.