Определите, как изменить ваш код MATLAB® так, чтобы сгенерированный код использовал меньше памяти. При вызывании функций управляйте, как данные передаются при помощи тех же переменных для ввода и вывода. Передача ссылкой уменьшает память, используемую в сгенерированном коде. Управляйте, как память выделяется путем установления пределов для использования стекового пространства и путем определения, когда динамическое выделение памяти используется. Минимизируйте размер кода путем отключения опций, которые генерируют дополнительный код, такой как поддержка целочисленного переполнения.
Для получения дополнительной информации о том, как оптимизировать ваш код для особых условий, см. Стратегии Оптимизации.
coder.inline | Управляйте встраиванием в сгенерированном коде |
coder.const | Сверните выражения в константы в сгенерированном коде |
coder.ceval | Вызовите внешнюю функцию C/C++ |
coder.Constant | Представляйте набор, содержащий одно значение MATLAB |
coder.ExternalDependency | Интерфейс к внешнему коду |
Предотвратите генерацию кода для неиспользованных путей к выполнению
Сделайте переменную потока управления постоянной, чтобы предотвратить генерацию кода неиспользованных ответвлений.
Устраните избыточные копии входных параметров функции
Используйте ту же переменную в качестве входного параметра функции и выведите.
Встраивание устраняет издержки вызова функции, заменяя вызов функции на тело функции.
Ограничьте встраивание, чтобы уменьшать размер сгенерированного кода и использования памяти.
Управляйте использованием стекового пространства
Задайте максимальное стековое пространство, которое может использовать сгенерированный код.
Сверните вызовы функции в константы
Уменьшайте время выполнения, заменяя выражение на константу в сгенерированном коде.
Установите порог динамического выделения памяти
Отключите динамическое выделение памяти для массивов меньше, чем определенный размер.
Большие массивы повторного использования и структуры
Задайте переменное повторное использование, чтобы уменьшать использование памяти.
Отключите поддержку Integer Overflow или Nonfinites
Улучшайте производительность путем подавления генерации поддержки кода, чтобы обработать целочисленное переполнение или nonfinites.
Объединяйтесь Внешний / Пользовательский код
Улучшайте производительность путем интеграции собственного оптимизированного кода.
Ускорьте линейную алгебру в сгенерированном автономном коде при помощи вызовов LAPACK
Сгенерируйте призывы LAPACK к определенным функциям линейной алгебры. Задайте библиотеку LAPACK, чтобы использовать.
Ускорьте Матричные операции в сгенерированном автономном коде при помощи вызовов BLAS
Сгенерируйте призывы BLAS к определенным низкоуровневым операциям над матрицей. Задайте библиотеку BLAS, чтобы использовать.
Сгенерируйте библиотеку FFTW, призывает к быстрым преобразованиям Фурье. Задайте библиотеку FFTW.
Оптимизируйте скорость выполнения или использование памяти сгенерированного кода.
Исключая неиспользованные пути от сгенерированного кода
Сделайте переменную потока управления постоянной, чтобы предотвратить генерацию кода для неиспользованных ответвлений.
Сложите выделение и производительность
Выделите большие переменные на куче, когда вы ограничите стековое пространство.
Оптимизация MATLAB Coder в сгенерированном коде
Чтобы улучшать производительность сгенерированного кода, генератор кода использует оптимизацию.
Отключите поддержку Integer Overflow или Nonfinites
Улучшайте производительность путем подавления генерации поддержки кода, чтобы обработать целочисленное переполнение или nonfinites.
Генерация кода для разреженных матриц
Используйте разреженные матрицы в коде MATLAB, предназначенном для генерации кода.