C++ 在matlab中调用可执行函数,比本机matlab代码慢?

C++ 在matlab中调用可执行函数,比本机matlab代码慢?,c++,performance,matlab,process,exec,C++,Performance,Matlab,Process,Exec,我编译了一个可执行函数,当我在终端中运行它时,它接受输入并输出一些输出。这个函数是用C++编写的,我知道它应该比MATLAB快得多。但是,如果我的matlab代码像它自己的一样使用这个外部函数,那么它的外部调用会使它以任何方式变慢吗 我想讨论一下,当我可以用matlab中的system()来执行函数时,我编写这个函数的matlab版本是否有意义。这取决于。。。您必须尝试一下并测试性能 更好的方法是将您的代码作为一个脚本来编写。这将使您在这两个方面都获得最佳效果(将MEX文件视为DLL):C代码性

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


我想讨论一下,当我可以用matlab中的system()来执行函数时,我编写这个函数的matlab版本是否有意义。

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

更好的方法是将您的代码作为一个脚本来编写。这将使您在这两个方面都获得最佳效果(将MEX文件视为DLL):C代码性能,调用的开销比外部进程低


由于您已经用C\C++实现了您的程序,您应该能够轻松地包装为MEX函数。

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

更好的方法是将您的代码作为一个脚本来编写。这将使您在这两个方面都获得最佳效果(将MEX文件视为DLL):C代码性能,调用的开销比外部进程低


<>因为你已经在C++中实现了你的程序,你应该能够以很少的努力包装成MEX函数。

为什么你的C++函数比Matlab更快?即使是明显的琐碎问题(如计算两个矩阵的总和)通常在MATLAB中比在天真的C++中快得多。为了有一个明智的答案,你应该指定你的C++程序应该做什么。如果它是一个计算密集型的问题,那么有一个专门的StAcExchange,为什么C++函数运行得比MATLAB快?即使是明显的琐碎问题(如计算两个矩阵的总和)通常在MATLAB中比在天真的C++中快得多。为了有一个明智的答案,你应该指定你的C++程序应该做什么。如果这是一个计算密集型的问题,有一个专门的stackexchange