Matlab中是否有调试和发布配置?

3
我同时使用C++和Matlab进行编码。对于C++项目,我使用VS2013(或2015). 在VS中有两个不同的默认配置——调试(debug)和发布(release),后者通常更快。 在Matlab中,我总是从Matlab的命令行运行我的代码。是否可以通过更改配置来改善Matlab的性能?
我知道可以编译Matlab代码,但这会提高性能吗(我通常进行图像分析或非线性系统求解)?我也知道可以从Matlab的代码生成C代码,这有时会加速它。
我在SO上没有找到完整的答案。我猜想,如果我的脚本中没有断点,则它会自动以发布模式运行,否则以调试模式运行。我注意到,如果我的脚本末尾有一个断点,运行速度会变慢。
1个回答

1
简而言之,答案是否定的。Matlab本身没有这些配置的概念。
实际上,C++代码是基于配置选项进行编译的,然后才能运行生成的二进制文件。另一方面,Matlab代码不包含编译步骤,只需通过解释器运行即可。C++发布配置通常启用了编译器和链接器优化,而调试配置则没有。
你的Matlab代码的“编译”只能在使用Matlab工具箱或实用程序将Matlab代码转换为C代码时发生。我相信以前在Matlab代码中使用哪些内部Matlab函数会有一些限制,如果要将其转换为C,则需要使用某些构建配置来生成C代码。最好检查一下,但我怀疑生成的Matlab代码不太可能更快,因为一些重要的内部Matlab函数已经编码为C++。

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接