我最近一直在研究MATLAB中的许多迭代算法,并且在循环方面受到MATLAB的性能(或缺乏MATLAB的性能)的严重影响。我知道在可能的情况下向量化代码的好处,但是当您需要算法循环时,是否有任何优化工具?
我知道使用MEX-file选项可以用C / C ++编写小的子例程,尽管给出了我的算法,但鉴于所需的数据结构,这可能是一个非常痛苦的选择。我主要使用MATLAB来简化原型设计并提高原型制作速度,因此语法复杂,静态类型的语言对于我的情况而言并不理想。
还有其他建议吗?甚至具有相对简单的矩阵工具的其他语言(python?)也是一种选择。
回答:
矢量化曾经提高了MATLAB代码的速度,这是事实。但是,对于
JIT加速器 ,这基本上不再适用
演示MATLAB profiler的视频可能会有所帮助。
更多&回答...