我刚刚用 c++ 将 Matlab 程序重写为 mex 函数以加快速度,并取得了出色的结果。这个优化决策是一个非常非常好的主意,无需线程即可将速度提高 20 倍。它仍然让我很好奇 mex 函数将时间花在什么上,并希望找出可能的瓶颈。
我正在寻找一种分析 mex 函数的方法。 matlab 分析器没有多大用处,我下载的其他分析器(免费和试用版)都需要可执行文件来运行。我不是 mex 专家,但据我所知,运行 mex 的唯一方法是在 Matlab 中。 mex 函数被编译为 dll,但称为 .mex64。所以这个问题应该类似于分析一个dll。为了编写 c++ mex 函数,我使用了单用户 VS2005(即,不是团队版本),并且在 x64 平台上运行。
有谁知道分析 mex 函数的好方法?当我从 Matlab 内部开始时,我应该使用什么工具以及如何使用它?或者还有其他方法来分析 C++ 代码吗?
我设法做到这一点的唯一方法是分离出执行工作的函数并编写一个单独的包装器(而不是 mexFunction),该包装器加载带有测试数据的 .mat 文件并作为独立的可执行文件运行。然后可以使用例如通用教授
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)