某ソフトの自動テスト(単体テストではない。ユーザー操作のジャーナリングのプレイバック)が遅すぎたのでボトルネックを探して解消しようと思いました。
それほど凝ったことは要求していなかったので、無料で使えるプロファイラを探したところ、NProfというものがあると分かりました。
使い方も簡単で役立ったのでメモっておきます。
入手先 §
入手先
使い方の説明 §
以外と簡単に使えた .NET 用プロファイラ - NProf
補足 §
バージョン0.10を使用しましたが、連続してプロファイリングさせると上手く動かない現象に遭遇。
具体的にはデータ収集の実行が終わっても解析が実行されず、結果も出力されない現象です。
深くは追求していませんが、以下のような作業を試行錯誤的に実行して動作しました。
- 対象バイナリのリビルド
- プロジェクトの新規作成のやり直し(File/New)
- NProf自身を閉じて開き直す
ちなみに、データ収集の実行が終わった後、結果が出るまで長時間待たされるのは仕様。これは指をくわえて待つしかありません。
感想 §
機能が少ないので簡単に使えます。
得られるデータはメソッド単位でしか結果が得られませんが、呼び出し関係をツリーで把握できるので、これだけでボトルネックがほぼ特定できます。
使い方を把握するだけで手間を取られる高度なソフトよりも、逆に有益かも。