我使用 MATLAB 中的 deploytool
将我的 MATLAB 程序转换为基于控制台的应用程序。 MATLAB .m
文件执行大约需要 2 秒,但在我将其转换为可执行文件并调用 .exe
后,执行需要 45 秒,这太长了.
我想将 MATLAB 程序与 PHP 集成。有没有另一种有效和快速的方法来做到这一点?在我的项目中,时间确实是一个很大的因素(不是开发时间,而是应用程序的执行时间)。那么有没有更省时的方法呢?
我在网上看到我们可以写PHP扩展来调用MATLAB。这个方法快还是和调用.exe
文件一样? MATLAB 编码器对这个过程有帮助吗?如果有其他选择,请提及。
最佳答案
MATLAB 编译的 .exe 在您第一次运行时会遇到开销,因为它正在启动 MCR:Why does my application compiled with the MATLAB Compiler 4.1 take a long time to start up?
除非您注销或重新启动操作系统,否则 MCR 将保持预加载状态。另一个有用的阅读:Speeding up compiled apps startup .
“Why does my stand-alone created using the MATLAB Compiler take longer to start the first time?”还报告连续运行应该更快,但如果稍后重新运行,则必须在内存中重新加载进程。
您可以将您的代码包含在 tic toc
中,部署它并检查执行所花费的时间,以及启动开销。
加速 .exe
的替代方法是使用 PHP 调用 MATLAB。如果您保持 MATLAB session 打开,您会遇到一次开销。您可以在启动时启动 MATLAB,从而避免在调用 PHP 期间特别承受开销。
更多信息请阅读 Calling MATLAB from PHP ,请记住,除非特别需要,否则不要使用 exit
。
关于php - MATLAB 可执行文件太慢,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15967157/