poster
2019-12-10, 20:48
我想加快一些涉及循环的matlab代码。常见的解决方案是用C语言编写循环,然后从matlab调用它。但是,我想知道是否可以通过在Java中实现循环而获得类似的好处-也许即时编译可以使其更快?
回答:
在开始使用外部代码之前:是否已预先分配变量?您可以向量化循环吗?尽管Matlab实时编译器在过去几年中变得更好了,但在某些情况下矢量化带来了显着的改进。另外,请注意,许多Matlab函数(在编辑器中打开它们时看不到代码)在C或Fortran中实现,因此您可能不会观察到显着的速度提升。
如果您无法通过更好地在Matlab中编写代码来加快Matlab代码的速度,并且如果重新实现看起来确实可以为您带来任何好处,那么C可能是最快的,尽管Java可能不会落后太远(再次取决于关于您要加速的代码-如果您将其张贴在此处可能是个好主意)。如果您比C更熟悉Java,建议您尝试使用Java。
更多&回答... (https://stackoverflow.com/questions/3998253)
回答:
在开始使用外部代码之前:是否已预先分配变量?您可以向量化循环吗?尽管Matlab实时编译器在过去几年中变得更好了,但在某些情况下矢量化带来了显着的改进。另外,请注意,许多Matlab函数(在编辑器中打开它们时看不到代码)在C或Fortran中实现,因此您可能不会观察到显着的速度提升。
如果您无法通过更好地在Matlab中编写代码来加快Matlab代码的速度,并且如果重新实现看起来确实可以为您带来任何好处,那么C可能是最快的,尽管Java可能不会落后太远(再次取决于关于您要加速的代码-如果您将其张贴在此处可能是个好主意)。如果您比C更熟悉Java,建议您尝试使用Java。
更多&回答... (https://stackoverflow.com/questions/3998253)