3 c++ matlab programming-languages visual-studio-2008
我在做一个使用大量图表的Windows应用程序.它实际上是一个数据查看器.我开始做Matlab,因为它更容易,但我意识到它太慢了.我想换成另一种语言.有人推荐我使用Visual C++或Java.但我不确定.我应该用什么语言?
Dav*_*man 11
在我看来,转向另一种"更快"语言所获得的速度并不像改进算法那么快.
MATLAB的"问题"在于它允许你做一些讨厌的事情,比如在紧密的循环中调整矩阵的大小.您应该尝试使用以下命令查明瓶颈:
profile on
... run your program
profile off
profile report
Run Code Online (Sandbox Code Playgroud)
这将为您提供有关哪个函数执行多长时间以及哪个行创建最大瓶颈的详细信息.您还可以查看调用函数的次数以及包含的M-Lint代码检查报告.
这些测量和提示可以向您显示算法的瓶颈.如果你确定没有办法使用更智能的算法来降低函数的callcount /速度.比如我真的需要那个智能矢量足够大的大二维矩阵,或者如果我发现一个神器,为什么我还会继续搜索工件.您可以使用c/c ++编写遇到性能问题最多的函数,并将其用作matlab中的函数.您可以通过正确选择要在c/c ++中实现的功能来获得大幅提升.从MATLAB调用ac/c ++函数会产生大量开销,或者更准确地说,c/c ++中存在从MATLAB获取数据的开销,因此调用10000次的函数不是最好在c中实现的./c ++,你可以更好地使用callstack中的函数.