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

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

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

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

Функции

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

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

Темы

Измерение и профилирование кода

Измерьте уровень своего кода

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

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

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

Определите покрытие кода Используя профилировщик

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

Улучшение производительности

Методы, чтобы улучшить производительность

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

Идентификация и сокращение требований к памяти

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

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

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

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

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

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

Решение “Из памяти” ошибок

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

Сопутствующая информация