Используйте профилировщик, чтобы определить, какие функции вносят наибольшее время во время выполнения. Вы можете сделать повышение эффективности путем сокращения времен выполнения ваших алгоритмов и вычислений, где это возможно.
После оптимизации кода используйте следующие методы, чтобы уменьшить накладные расходы на создание объектов и обновление отображения.
Например, предположим, что вы строите график массивов элементов 10 на 1000 с помощью myPlot
функция:
function myPlot x = rand(10,1000); y = rand(10,1000); plot(x,y,'LineStyle','none','Marker','o','Color','b'); end
profile on myPlot profile viewer
Когда вы профилируете этот код, вы видите, что большинство времени тратится на myPlot
функция:
Поскольку массивы x и y содержат 1000 столбцов данных, функция построения графика создает 1000 объектов линий. В этом случае можно достичь тех же результатов, создав одну линию с 10000 точками данных:
function myPlot x = rand(10,1000); y = rand(10,1000); % Pass x and y as 1-by-1000 vectors plot(x(:),y(:),'LineStyle','none','Marker','o','Color','b'); end
profile on myPlot profile viewer
Время создания объекта является основным фактором в этом случае:
Вы часто можете добиться улучшения скорости выполнения, понимая, как избежать или минимизировать по своей сути медленные операции. Для получения информации о том, как улучшить эффективность с помощью этого инструмента, смотрите документацию для profile
функция.