Генератор кода увеличивает скорость выполнения сгенерированного кода, где это возможно, заменяя глобальные переменные локальными переменными, удаляя копии данных, используя memset и memcpy и уменьшение объема памяти для хранения данных. Скорость выполнения создаваемого кода можно увеличить, выполнив оптимизацию компилятора и процессора, указав повторное использование буфера и удалив код, который может вам не понадобиться.
Управление данными и размещением функций в памяти путем вставки прагматиков
Повысьте эффективность кода на своем оборудовании, вставив прагматики в созданный код. Прагматики определяют места в памяти для хранения данных и функций.
Заменить логическое значение на конкретное целое значение типа данных
Повышение скорости выполнения сгенерированного кода путем замены boolean встроенный тип данных с определенным целочисленным типом данных.
Минимизируйте возможность замедления выполнения или переполнения из-за задержки вычисления субнормального числа.
Умножение с плавающей запятой для обработки коррекции чистого откоса
Для процессоров, поддерживающих эффективное умножение, повысьте эффективность кода, используя умножение с плавающей запятой для обработки коррекции чистого наклона.
Создание кода с фиксированной точкой в Simulink ®, Stateflow ® и MATLAB ®.
Создание целевых оптимизаций в рамках кода алгоритма
Настройка сгенерированного кода алгоритма с оптимизацией для конкретных целей.
Установка параметров реализации аппаратных средств
Укажите характеристики целевого аппаратного устройства, которые могут быть критическими при разработке встраиваемых систем (например, размеры слов для char, short, int, и long типы данных или желаемое поведение округления в целочисленных операциях).
Оптимизация компилятора управления
Управление оптимизацией компилятора для make-файла на уровне интерфейса пользователя Simulink.
Оптимизация использования глобальных переменных
Выберите глобальную оптимизацию ссылок на переменные, чтобы удовлетворить требованиям к использованию памяти и скорости выполнения.
Повышение эффективности выполнения за счет переупорядочивания операций блока в сгенерированном коде
Генератор кода может изменять порядок выполнения блока для повышения эффективности выполнения.
Оптимизация сгенерированного кода путем объединения нескольких для конструкций
Генератор кода использует анализ зависимости данных для объединения for конструкции для уменьшения размера статического кода и ветвления среды выполнения.
Оптимизация генерируемого кода для сложных сигналов
Генератор кода выполняет различные оптимизации структур, которые представляют сигналы в сгенерированном коде.
Настройка порога разбиения на шлейфы
Начиная со значения по умолчанию 5, генератор кода начинает использовать for цикл вместо отдельных операторов для назначения значений элементам массива сигналов или параметров.
Упрощение операций умножения при индексировании массивов
Генератор кода уменьшает число операций умножения в индексе массива, заменяя операцию умножения временной переменной.
Оптимизация сгенерированного кода с помощью функции memset
memset функция очищает внутреннее хранилище, независимо от типа, до целочисленной битовой комбинации 0 (то есть все биты выключены).
Использование функции memcpy для оптимизации сгенерированного кода для векторных назначений
Генератор кода оптимизирует сгенерированный код для векторных назначений путем замены for петли с memcpy вызовы функций.
Использовать выполнение ветви условного ввода
Для блоков Switch и Multiport Switch Simulink выполняет только те блоки, которые вычисляют управляющий вход и ввод данных, которые выбирает управляющий вход.
Оптимизация сгенерированного кода для операций с данными с фиксированной точкой
Генератор кода оптимизирует операции с фиксированной точкой, заменяя дорогостоящие операции разделения высокоэффективными операциями с продуктом.
Управление распределением памяти для массивов переменного размера в функциональном блоке MATLAB
Отключите динамическое выделение памяти или укажите порог динамического выделения памяти для функциональных блоков MATLAB.
Ускорение линейной алгебры в коде, сгенерированном из функционального блока MATLAB
Создание вызовов LAPACK для определенных функций линейной алгебры в блоке функции MATLAB. Укажите библиотеку LAPACK для использования.
Ускорение операций матрицы в коде, сгенерированном из функционального блока MATLAB
Создание вызовов BLAS для определенных операций матрицы низкого уровня. Укажите библиотеку BLAS для использования.
Ускорение быстрых преобразований Фурье в коде, сгенерированном из функционального блока MATLAB
Создание вызовов библиотеки FFTW для быстрых преобразований Фурье в блоке функции MATLAB. Укажите библиотеку FFTW.
Реализуйте методы класса обратного вызова библиотеки FFT и предоставляйте поддерживающий код C для предотвращения параллельного доступа к планированию FFTW.
Ускорение реализации for-loop в коде, созданном с помощью parfor
Реализация параллельных циклов для в сгенерированном коде для блока MATLAB Function и MATLAB System с использованием parfor.
Создание SIMD-кода из блоков Simulink
Повысьте скорость выполнения генерируемого кода с помощью технологий Intel SSE и Intel AVX.