Visual Studio 2005 パフォーマンス分析ツールを使ってみる

存在だけは知っていたVisual Studio 2005 パフォーマンス分析ツールを使ってみました。
ちなみに、Team Edition for Developersの機能ですので、
普通のエディションでは使えません。残念。

使い方がすぐには理解できなかったので、ヘルプを読みつつ勉強。
ヘルプもわかりづらいんですが(涙)


分析方法には「サンプリング」と「インストルメンテーション」の2種類があります。
ヘルプを読んだ私の理解だと、サンプリングは指定されたプログラムを外部から分析し
パフォーマンス測定を行うやり方。インストルメンテーションはプログラム内のメソッドに
開始・終了プローブ(probe:測定用電極?)を埋め込み更に詳細な測定が可能。
ただしプローブを埋め込むため実際の速度より遅くなるとのこと。まぁそりゃそうだべ〜。

最初、サンプリングで測定してみましたが、あまりにも測定できる項目が少ないため、インストルメンテーションでやり直しました。(サンプリングの時よりも測定時間は5〜6倍はかかりました)


それと注意が必要なのが、測定データが巨大になりすぎるとVisual Studioでレポート表示できません。
私が測定したアプリの測定データが4GBにもなっちゃって、全然レポート見れませんでした。
(VSPerfReportというコマンドラインツールでCSVに出力できるみたいでしたが、私が試してみたらエラーで落ちちゃった)
アプリが読み込むデータ件数などを少なめにして、短い処理時間で終わるように調整する必要がありました。

で、インストルメンテーションで測定してレポートで分析すると
メソッドのコールツリーやメソッドごとの処理時間、呼び出し回数なども見ることができるのでなかなか良いですよ。
アプリケーションのパフォーマンスチューニングをされる方は覚えておいて損なしです。


ちなみに、以前使ったことがあるDevPartnerというソフトでも、同様のパフォーマンス分析ができるんですが、残念ながらVS2005日本語環境にはまだ対応されていないみたいですね。非常に残念。

日本コンピュウェア DevPartner
http://www.compuware.co.jp/products/devpartner_fm/