プロファイリング ツールのパフォーマンス セッションの概要

Visual Studio 2017 RC の最新のドキュメントの詳細については、Visual Studio 2017 RC ドキュメントをご参照ください。

この概要では、プロファイリングの基本について説明します。 パフォーマンス作業を初めて行う開発者は、すぐに成果を上げてコードのパフォーマンスを向上させるうえで Visual Studio プロファイリング ツールがいかに役立つかを理解できます。 プロファイリングの経験がある開発者は、プロファイリング ツールに関する特定の機能やプロセスの概要を確認できます。

Visual Studio プロファイル ツールを使用することで、ソース コードのパフォーマンスの問題を識別し、実行可能な解決策のパフォーマンスを比較できます。 プロファイリング ツールのウィザードと既定の設定を使用すると、多くのパフォーマンスの問題をすぐに把握できます。 プロファイリング ツールの機能とオプションを使用することで、プロファイリング プロセスを厳密に制御できます。 この制御には、コード セクションの正確な対象化、ブロックレベルのタイミング情報の収集、データへの追加プロセッサ データとシステム パフォーマンス データの組み込みなどが含まれます。

プロファイル ツールを使用する基本的なプロセスでは、次の手順を実行します。

  1. 収集方法と収集するデータを指定して、パフォーマンス セッションを構成します。

  2. パフォーマンス セッションでアプリケーションを実行して、プロファイリング データを収集します。

  3. データを分析してパフォーマンスの問題を識別します。

  4. コードのアプリケーション パフォーマンスが向上するように、Visual Studio 統合開発環境 (IDE: Integrated Development Environment) でコードを変更します。

  5. 変更したコードのプロファイリング データを収集し、元のデータと変更後のデータのプロファイリング データを比較します。

  6. パフォーマンスの向上を文書化したレポートを生成します。

    プロファイリングによって提供される情報を処理するには、プロファイリングを実行するバイナリと Windows オペレーティング システムのバイナリのシンボル情報を使用できるようにする必要があります。

パフォーマンス セッションの構成

プロファイリング セッションを構成するには、使用するプロファイリング方式と収集するデータを選択します。 プロファイル ツールのパフォーマンス ウィザードを使用すると、ガイドに従って基本構成を行うことができます。[パフォーマンス セッション] プロパティ ページを使用して、オプションをさらに追加することもできます。

  • プロファイリング方式には、サンプリング、トレース、およびメモリ割り当てがあります。

  • データ値には、時間、プロセッサおよびオペレーティング システムのパフォーマンス カウンター、およびページ フォールトやカーネル遷移などのアプリケーション イベントが含まれます。

    Visual Studio プロジェクトのパフォーマンス セッションをプロジェクト ソリューションの一部として構成することも、Visual Studio IDE を使って任意のバイナリをプロファイリングすることもできます。 [パフォーマンス セッション] プロパティ ページでセッション プロパティを指定することもできますし、プロファイリング ウィザードを使用することもできます。

プロファイリング データの収集

プロファイリング データの収集は、パフォーマンス エクスプローラーから開始します。 プロファイリングを停止して再開することにより、収集するデータの量を制限することができます。 既に実行されているプロセスにアタッチすることもできます。

アプリケーションが開始されるとすぐ、Visual Studio IDE に [データ収集コントロール] ウィンドウが表示されます。 [データ収集コントロール] ウィンドウで、収集プロセスを停止および再開してアプリケーションの特定の部分をプロファイリングすることができます。 また、[データ収集コントロール] ウィンドウを使用して、収集されるデータにマークを挿入することもできます。 マークはプロファイル ビューに表示されるユーザー定義データ ポイントであり、これを使ってプロファイル データをフィルター処理することができます。

ターゲット アプリケーションがシャットダウンすると、プロファイリング ツールはプロファイリング データ ファイル (*.vsp) を生成し、Visual Studio IDE に概要レポート ビューを表示します。

データの分析とパフォーマンスの問題の識別

プロファイリングの実行が終了すると、データが分析され、プロファイリング ツールの [パフォーマンス レポート] 表示ウィンドウに概要が表示されます。 呼び出し履歴とターゲット アプリケーションの個々の関数のプロファイリング データが収集されます。 レポート ビューには、アプリケーションのプロセス、スレッド、モジュール、関数、およびソース コード行のデータ範囲のパフォーマンス分析が表示されます。 関数のプロファイリング データ値には次のものが含まれます。

  • 対象関数およびそれが呼び出した子関数で費やされたすべての時間 (包括値)。

  • 対象関数のコードの実行のみで費やされた時間 (排他値)。

    12 個以上の異なるビューにより、プロファイリング データを最も効率的な方法で分析することができます。 ビューをカスタマイズすることで、データをフィルター処理したり、並べ替えたりして、パフォーマンスの問題の原因となっている可能性のある関数を見つけることができます。 ホット パス フィルター処理を使用すると、[コール ツリー] ビューと [モジュール] ビューの最もアクティブなパスを即時に強調表示することができます。

アプリケーション コードの変更

関係する 1 つ以上のパフォーマンス問題を特定できたら、Visual Studio IDE を使用してコードを変更し、その変更に応じてプロファイリング データを収集することができます。

プロファイリング データの再収集とプロファイリング実行間のデータの比較

プロファイル ツールの比較レポート ビューは、選択した 2 つのプロファイリング データ ファイルの間のモジュール、関数、または行パフォーマンスの違いを表示します。 比較するプロファイリング データ値を指定し、比較ビューと個々のファイルのビューを切り替えることができます。

結果のレポートの生成

パフォーマンス レポートのビューはどれも、行を電子メールやスプレッドシートに貼り付けることができます。1 つ以上のビューのデータを含むレポートを生成することができます。

参照

概要
チュートリアル: アプリケーションのプロファイリング