C++ で Matlab プログラムを mex 関数として書き直して速度を上げ、素晴らしい結果を得ました。この最適化の決定は非常に良いアイデアであり、スレッド化なしで最大 20 倍の速度が得られました。mex-function が何に時間を費やしていて、ボトルネックの可能性を特定したいのか、まだ興味がありました。
mex 関数をプロファイリングする方法を探しています。matlab プロファイラーはあまり役に立たず、私がダウンロードした他のプロファイラー (無料と試用版の両方) はすべて、実行可能ファイルを実行する必要があります。私は mex の第一人者ではありませんが、私が理解している限り、mex を実行する唯一の方法は Matlab 内からです。mex 関数は dll にコンパイルされますが、.mex64 と呼ばれます。したがって、この問題は dll のプロファイリングに似ているはずです。c++ mex 関数を記述するために、私はシングル ユーザー VS2005 (つまり、チーム バージョンではない) を使用し、x64 プラットフォームで実行しています。
mex 関数をプロファイリングする良い方法を知っている人はいますか? Matlab 内から開始する場合、どのツールを使用する必要があり、どのように使用すればよいですか? または、C++ コードをプロファイリングする他の方法はありますか?