【发布时间】:2011-12-13 08:26:18
【问题描述】:
我必须在 matlab 中进行一些计算。它已经在一个 m 文件中实现,但运行速度很慢,因为有很多循环。这个想法是编译本机代码并在 matlab 中使用此代码。
现在我有两种可能:
- 编写动态加载到 matlab 中的共享对象(.so od .dll 文件)
- 编写一个 C(++)-MEX 函数
在第一种情况下,matlab 为本地数据类型等提供接口,在后一种情况下,我必须自己做。现在的问题是:什么是更快/更好?我可以两者都做,但我想获得尽可能快的速度。
谢谢
【问题讨论】:
-
除非您只在外部代码中进行少量计算,否则性能应该没有差异。使用更适合手头任务的。
标签: performance matlab mex