php - MATLAB 可执行文件太慢

标签 php c matlab exe matlab-deployment

我使用 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/

相关文章:

javascript - 发布后更新 angularJS 中的 $scope 属性

javascript - 使用 ajax、php、html 进行 POST

Javascript 函数可防止基于条件打开链接

algorithm - 有组织的 3d 点云数据中的连接组件

python - 在python中访问时如何保留matlab结构?

php - 如何使图标在以下情况下表现得像提交按钮?

c - 如 initramfs 所示,左手赋值中无名括号背后的机制是什么?

c - 二维数组给出错误的输出

c - 在 C 中决定返回值的通用方法是什么?

java - 在 MATLAB 中从 Java 加载库时出现 UnsatisfiedLinkError