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