gpt4 book ai didi

performance - 为什么 Matlab Profiler 说 'end' 循环的 'for' 语句存在瓶颈?

转载 作者:太空宇宙 更新时间:2023-11-03 19:15:14 24 4
gpt4 key购买 nike

所以,我最近开始定期使用 Matlab 的内置分析器,我注意到虽然它通常很擅长显示哪些行占用的时间最多,但有时它会告诉我很大大部分时间用于 for 循环的 end 语句。

现在,看到这样的一行只是用于表示循环的结束,我无法想象除了少量的处理之外它还能使用什么。

我在 matlab central 上看到了这个问题的特定版本, 但似乎没有达成共识。

编辑:这是这个问题的一个最小例子:

for i =1:1000
x = 1;
x = [x 1];
% clear x;
end

即使你取消注释clearend行仍然占用大量计算(大约20%),而clear实际上增加了结束行执行的绝对计算量。

最佳答案

当我在我的代码中看到它时,它是在循环中创建的大型临时对象的释放。在循环中创建的每个新变量都在 end 处释放。

关于performance - 为什么 Matlab Profiler 说 'end' 循环的 'for' 语句存在瓶颈?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6905809/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com