【发布时间】:2015-05-18 17:13:29
【问题描述】:
我听说 MATLAB 有一个自动按需编译的函数,如果你像下面的代码那样多次调用一个函数,这可能会产生大量的函数调用开销:
function output = BigFunction( args )
for i = 1:10000000
SmallFunction( args );
end
end
如果我将函数SmallFunction() 作为本地函数放在与BigFunction() 相同的文件中,调用它会更快吗?或者除了将SmallFunction()的代码粘贴到BigFunction()来优化性能还有什么好的解决办法吗?
编辑:函数调用开销是由于需要编译的假设可能是错误的。问题是如何在不让代码看起来很糟糕的情况下减少开销。
【问题讨论】:
-
尽管知道存在差异很有趣,但我非常怀疑你会从中获得显着的加速。
标签: performance matlab optimization compiler-optimization