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

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

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

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

Функции

расширить все

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

Темы

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

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

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

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

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

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

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

Повышение эффективности

Методы повышения эффективности

Чтобы ускорить эффективность вашего кода, существуют несколько методы, которые можно учесть.

Идентифицируйте и уменьшайте требования к памяти

Как MATLAB выделяет память

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

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

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

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

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

Решение ошибок «Нехватка памяти»

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

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