查看单个帖子
旧 2019-12-10, 20:48   #1
poster
高级会员
 
注册日期: 2019-11-21
帖子: 3,006
声望力: 66
poster 正向着好的方向发展
帖子 使用Matlab代码提高循环效率:使用C还是Java可以?

我想加快一些涉及循环的matlab代码。常见的解决方案是用C语言编写循环,然后从matlab调用它。但是,我想知道是否可以通过在Java中实现循环而获得类似的好处-也许即时编译可以使其更快?



回答:

在开始使用外部代码之前:是否已预先分配变量?您可以向量化循环吗?尽管Matlab实时编译器在过去几年中变得更好了,但在某些情况下矢量化带来了显着的改进。另外,请注意,许多Matlab函数(在编辑器中打开它们时看不到代码)在C或Fortran中实现,因此您可能不会观察到显着的速度提升。

如果您无法通过更好地在Matlab中编写代码来加快Matlab代码的速度,并且如果重新实现看起来确实可以为您带来任何好处,那么C可能是最快的,尽管Java可能不会落后太远(再次取决于关于您要加速的代码-如果您将其张贴在此处可能是个好主意)。如果您比C更熟悉Java,建议您尝试使用Java。



更多&回答...
poster 当前离线   回复时引用此帖