【发布时间】:2017-12-30 17:19:02
【问题描述】:
我不明白为什么数组的 += 操作会产生如此多的内存分配,但是在应用 @ 时它会得到修复。
function loop()
a = randn(10)
total = similar(a)
for i=1:1000
total += a
end
end
function loopdot()
a = randn(10)
total = similar(a)
for i=1:1000
@. total += a
end
end
loop()
loopdot()
Profile.clear_malloc_data()
loop()
loopdot()
生产
160000 total += a
和
0 @. total += a
【问题讨论】:
-
克里斯对您的问题给出了出色而彻底的回答。有帮助吗?
标签: julia