RTb*_*ard 5 performance matlab global
据我所知,MATLAB pass by reference
在向其他函数发送参数时无法使用.我正在进行音频处理,而且我经常不得不将波形作为参数传递给函数,并且因为MATLAB使用pass by value
这些参数,所以当我这样做时它会占用大量的RAM.
我正在考虑使用global
变量作为一种方法将我的波形传递给函数,但我读到的每个地方似乎都有一个普遍的看法,这是一个坏主意,代码组织和潜在的性能问题...但我没有真的阅读有关这可能会如何影响性能的任何详细答案......
我的问题:使用全局变量(大小> 100MB)将参数传递给MATLAB中的其他函数会产生什么负面影响,包括1) 性能和2) 通用代码组织和良好实践.
编辑:从下面的@ Justin的回答中可以看出,当你不修改函数中的参数时,MATLAB有时会使用按引用传递!由此,我有关于全局变量性能的第二个相关问题:
使用全局变量会比使用pass by reference
函数参数慢吗?