Уменьшайте RAM и потребление ROM и увеличьте скорость выполнения кода путем устранения копий данных в сгенерированном коде. Генератор кода устраняет некоторые копии данных. Можно устранить другие копии данных путем корректировки определенных настроек параметра модели, определения того же имени для аргументов ввода и вывода блоков MATLAB function, и при помощи Сигналов Simulink, чтобы задать повторное использование.
Генератор кода устраняет копии данных с локальных переменных назад к глобальным структурам блока I/O путем передачи допускающей повторное использование подсистемы выходные параметры в качестве отдельных аргументов вместо как указатель на структуру, сохраненную в глобальной памяти.
Генератор кода сворачивает вычисления блока в отдельное выражение, вместо того, чтобы генерировать отдельные операторы кода и объявления устройства хранения данных для каждого блока в модели.
Глобальная переменная повторного использования блокирует Выходные параметры в сгенерированном коде
Генератор кода пытается снова использовать глобальные переменные.
Включите и повторное использование локальный блок Выходные параметры в сгенерированном коде
Где возможно, генератор кода объявляет, блокируют выходные параметры как локальные переменные, так, чтобы он мог потенциально снова использовать эти переменные.
Преобразуйте копии данных в присвоения указателя
Генератор кода оптимизирует сгенерированный код для векторных присвоений сигнала путем попытки заменить присвоения управляемого элемента цикла for
и вызовы функции memcpy
с присвоениями указателя.
Виртуализированная оптимизация выходных портов
Генератор кода устраняет код и хранение данных, сопоставленное с корневыми выходными портами путем хранения сигнала, вводящего корневой выходной порт как глобальная переменная.
Используйте численные значения инвариантных сигналов вместо их символьных имен в сгенерированном коде.
Сокращение копии данных для блоков записи чтения и хранилища данных хранилища данных
Генератор кода пытается устранить копии данных для блоков Записи Чтения и Хранилища данных Хранилища данных.
Уменьшайте копии данных для блоков присвоения шины
Для моделей, содержащих блок Bus Assignment, если это возможно, генератор кода использует ту же переменную для ввода и вывода блока.
Удалите копии данных путем переупорядочения блочных операций в сгенерированном коде
Переупорядочьте блочные операции в сгенерированном коде, чтобы устранить временные переменные и сопоставленные копии данных.
Если ваша модель имеет оптимальные установки параметров для удаления копий данных, вы можете смочь удалить дополнительные копии данных при помощи меток сигнала.
Оптимизируйте использование глобальной переменной
Выберите оптимизацию ссылки глобальной переменной, чтобы удовлетворить ваши требования к скорости использования памяти и выполнения.
Задайте буферное повторное использование для блоков MATLAB function в пути
Повторное использование буферизует через блоки MATLAB function.
Задайте буферное повторное использование при помощи Simulink. Объекты сигнала
Используйте объект Сигнала Simulink задать буферное повторное использование для нескольких сигналов в пути, который может включать корневой импорт и порты выходного порта, блоки Задержки и блоки Единичной задержки.
Сгенерируйте эффективный код для сигналов шины
Модель соединяет шиной, чтобы максимизировать эффективность сгенерированного кода.