查看单个帖子
旧 2019-12-07, 23:17   #1
poster
高级会员
 
注册日期: 2019-11-21
帖子: 3,006
声望力: 66
poster 正向着好的方向发展
默认 使用MATLAB编译器时,为什么看不到明显的加速?

我有很多不错的MATLAB代码,它们运行得太慢,用C编写会很痛苦。C语言的MATLAB编译器似乎并没有太大帮助。是否应该进一步加快执行速度?我搞砸了吗?

回答:
我会回声dwj所说的话:如果您的MATLAB代码很慢,那可能是因为它没有被充分向量化。如果您在对整个数组进行操作时正在执行显式循环,那是罪魁祸首。

这同样适用于所有面向数组的动态语言:Perl数据语言,Numeric Python,MATLAB / Octave等。在已编译的C和FORTRAN编译代码中,甚至在某种程度上都是正确的:专门设计的矢量化库通常使用经过仔细手工编码的内部代码循环和SIMD指令(例如MMX,SSE,AltiVec)。
poster 当前离线   回复时引用此帖