Итак, я Недавно я начал регулярно использовать встроенный профилировщик Matlab, и я заметил, что, хотя он обычно отлично показывает, какие строки занимают больше всего времени, иногда он говорит мне, что используется большой кусок времени в операторе end
цикла for
.
Теперь, когда такая строка используется только для обозначения конца цикла, я не могу представить, как это могло использовать что-либо, кроме тривиальной обработки.
Я видел конкретную версию этого вопроса, задаваемую на matlab central , но консенсус, похоже, не был достигнут.
EDIT: Он Вот минимальный пример этой проблемы:
for i =1:1000
x = 1;
x = [x 1];
% clear x;
end
Даже если вы раскомментируете clear
, строка end
все равно потребует много вычислений (около 20%), а ] clear
фактически увеличивает абсолютный объем вычислений, выполняемых конечной строкой.