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