MATLAB调优加速

并行计算

使用parfor进行并行计算,我的上一篇文章:MATLAB 一些小技巧有提及关于parfor的注意点。

同时如果 cpu 内核多,记得调parallel pool workers的数量,默认是 12,在你的设置和 cpu 内核数间取最小值。

设置图

把能放在循环外计算的放出来

合理使用嵌套函数(实现闭包)

如果合适,使用 MemoizedFunction 对你的函数进行缓存

如果可以,使用主频高的机器

不管是有没有并行,主频高速度真的快不少

关闭超线程技术

超线程技术会将你的内核虚拟出两个逻辑处理器,在普通的场景是有优势的,但是 MATLAB 不能够很好的适应这个情况,超线程将导致你的 cpu 只能发挥一半的性能。

尽量使用矩阵计算而不是循环

发挥你的数学能力,矩阵运算速度提升很大

多层嵌套循环注意是否有可以优化的内容