分析mex函数

Ann*_*naR 10 matlab profiling mex

我刚刚用c ++重写了一个matlab程序作为mex函数来加速,结果非常棒.这个优化决策是一个非常好的主意,在没有线程的情况下可以加速20倍.它仍然让我对mex-function花费时间和想要识别可能的瓶颈感到好奇.

我正在寻找一种分析mex功能的方法.matlab profiler用处不大,我下载的其他分析器(免费和试用版)都希望运行可执行文件.我不是mex-guru,但据我所知,运行mex的唯一方法是在Matlab中.mex-function被编译成一个dll,但被称为.mex64.所以这个问题应该类似于分析一个DLL.为了编写c ++ mex-function我使用的是单用户VS2005(即不是团队版本),而是在x64平台上运行.

有没有人知道配置mex功能的好方法?我应该使用什么工具,当我从Matlab开始时如何使用它?或者有没有其他方法来分析c ++代码?

sec*_*ond 8

我设法做到这一点的唯一方法是分离出完成工作的函数,并编写一个单独的包装器(而不是mexFunction),它将.mat文件与测试数据一起加载并作为独立的可执行文件运行.然后可以使用例如gprof进行分析