ちょっと前から作成していた関数プロファイラーをライブラリの形にしたので、これを公開します。
使い方
プログラムの頭で、ProfilerInit() を実行し、終了直前で ProfilerExit() を呼び出します。
付属のライブラリをリンクするようにして、コンパイル時のオプションで”/Gh /GH”を指定します。
例
- 追加のインクルードディレクトリに DIAのインクルードを追加する。(VSインストールフォルダ/DIA SDK/include)
- 追加のライブラリディレクトリに DIAのライブラリフォルダを追加する。(VSインストールフォルダ/DIA SDK/lib)
- プロジェクトのC/C++コンパイル設定で、コマンドラインオプションとして、”/Gh /GH” を指定する
- funcprof.h をインクルードして、ProfilerInit(),ProfilerExit()を呼び出します
- funcprof.libをリンクします
結果
実行結果はVisualStudioの出力ウィンドウに表示されます。Exeの場所に同様の内容でログを出力します。
例
testSort ,( 1), 253.857, [ms], std::vector>::resize ,( 1), 0.344, [ms], std::vector >::_Reserve ,( 1), 0.132, [ms], std::vector >::_Reallocate ,( 1), 0.000, [ms], std::_Sort ,( 44), 1.619, [ms], std::_Random_shuffle ,int> ,( 1), 0.043, [ms], std::_Unguarded_partition ,( 43), 0.316, [ms], std::_Median ,( 43), 0.005, [ms], std::_Insertion_sort1 ,( 44), 0.026, [ms],
カンマ区切りで出力されますので、加工はそれなりにやりやすいかと思います。
ダウンロード
まだアルファ版的なシロモノですが、よろしければご利用下さい。
関数プロファイラライブラリ funcprof ver 0.01
より新しいバージョンを公開したため、そちらをご利用下さい。
コメント
[…] それ以外の詳しい説明は、以前の記事(関数プロファイラーライブラリを公開です)を参考下さい。 […]