exponenta event banner

Производительность и память

Код профиля, повышение производительности, снижение требований к памяти

Напишите свой код, чтобы он был простым и удобочитаемым, особенно для первой реализации. Преждевременно оптимизированный код может быть излишне сложным без существенного повышения производительности. Затем, если проблема заключается в скорости, можно измерить продолжительность выполнения кода и профилировать код для выявления узких мест. При необходимости можно предпринять шаги для повышения производительности.

MATLAB ® автоматически управляет хранением данных. Однако если проблема связана с памятью, можно определить требования к памяти и применить методы для более эффективного использования памяти.

Функции

развернуть все

ticЗапустить таймер секундомера
tocВремя чтения с секундомера
cputimeВремя ЦП, используемое MATLAB
timeitИзмерить время, необходимое для выполнения функции
profileВремя выполнения профиля для функций
benchЭталонный тест MATLAB
memoryИнформация о памяти
inmemНазвания функций, MEX-файлов, классов в памяти
packКонсолидация памяти рабочей области
memoizeДобавление семантики мемуации в дескриптор функции
MemoizedFunctionВызов мемуизированной функции и результатов кэширования
clearAllMemoizedCachesОчистить кэш для всех MemoizedFunction объекты

Темы

Код меры и профиля

Измерьте эффективность кода

Используйте timeit функции или функции таймера секундомера, tic и tocВремя, которое занимает ваш код.

Профилируйте свой код, чтобы повысить производительность

Используйте Profiler, чтобы измерить время, необходимое для выполнения кода, и определить, какие строки кода потребляют больше всего времени или какие строки не выполняются.

Определение покрытия кода с помощью профилировщика

Чтобы определить, сколько файлов MATLAB выполняется при профилировании, выполните отчет о покрытии.

Повышение производительности

Методы повышения производительности

Чтобы ускорить выполнение кода, есть несколько приемов, которые вы можете рассмотреть.

Определение и сокращение требований к памяти

Как MATLAB распределяет память

Запишите код, более эффективный для памяти, понимая, как MATLAB распределяет память.

Стратегии эффективного использования памяти

Сократите использование памяти в программах, используйте соответствующее хранилище данных, избегайте фрагментации памяти и восстановите использованную память.

Избегайте ненужных копий данных

MATLAB может применять оптимизации памяти при передаче входов функций по значению.

Устранение ошибок «» Недостаточно памяти

MATLAB возвращает ошибку всякий раз, когда запрашивает у операционной системы сегмент памяти, превышающий доступный.

Связанная информация