2

我有一个我编译的可执行函数,当我在终端中运行它时,它接受一个输入并吐出一些输出。该函数是用 C++ 编写的,我知道它应该比 matlab 快得多。但是,如果我的 matlab 代码像使用它自己的那样使用这个外部函数,那么它的外部调用会以任何方式使其变慢吗?

当我可以在 matlab 中使用 system() 执行它时,我试图辩论是否有任何意义在我编写这个函数的 matlab 版本。

4

1 回答 1

0

这取决于...您必须尝试并测试性能。

更好的方法是将您的代码编写为MEX-function。这为您提供了两全其美的优势(将 MEX 文件视为 DLL):C 代码性能,调用开销低于外部进程。

由于您已经在 C\C++ 中实现了您的程序,因此您应该能够毫不费力地将其包装为 MEX 函数。

于 2012-08-04T00:39:41.063 回答