я с удивлением обнаружил следующую разницу стоимости между запуском MATLAB для петель:Наилучшая практика MATLAB для индекса петли
ksize = 100;
klist = 1:ksize;
tic
for m = 1:100000
for k = 1:ksize
end
end
toc
tic
for m = 1:100000
for k = klist
end
end
toc
Единственная разница в том, как этот список индекс создается. Я бы заподозрил, что вторая версия будет быстрее, но вот!
Elapsed time is 0.055400 seconds.
Elapsed time is 1.695904 seconds.
Мой вопрос имеет два аспекта: то, что несет ответственность за выше результата, и где еще делает этот нюанс (или подобные им) происходят в программировании MATLAB? Я надеюсь, что смогу лучше определить эти неэффективности в будущем. Спасибо всем.
Возможно, это связано с ускорением JIT, потому что если вы отключите его с помощью функции ускорения, вы получите аналогичные результаты для обоих прогонов. –