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