パフォーマンス セッションの概要Performance Session Overview

この概要では、プロファイリングの基本について説明します。This overview explains the basics of profiling. パフォーマンス作業を初めて行う開発者は、すぐに成果を上げてコードのパフォーマンスを向上させるうえで Visual StudioVisual Studio プロファイリング ツールがいかに役立つかを理解できます。Developers who are new to performance work will see how the Visual StudioVisual Studio Profiling Tools can help them become productive quickly and increase the performance of their code. プロファイリングの経験がある開発者は、プロファイリング ツールに関する特定の機能やプロセスの概要を確認できます。Developers who are experienced in profiling can gain an overview of specific Profiling Tools features and processes.

Visual StudioVisual Studio プロファイル ツールを使用することで、ソース コードのパフォーマンスの問題を識別し、実行可能な解決策のパフォーマンスを比較できます。The Visual StudioVisual Studio Profiling Tools help you identify performance issues in source code and compare the performance of possible solutions. プロファイリング ツールのウィザードと既定の設定を使用すると、多くのパフォーマンスの問題をすぐに把握できます。Profiling Tools wizards and default settings can give you immediate insight into many performance issues. プロファイリング ツールの機能とオプションを使用することで、プロファイリング プロセスを厳密に制御できます。The features and options of the Profiling Tools provide exact control over the profiling process. この制御には、コード セクションの正確な対象化、ブロックレベルのタイミング情報の収集、追加プロセッサ データやシステム パフォーマンス データをデータに組み込むことなどが含まれます。This control includes the precise targeting of code sections, the collection of block-level timing information, and the inclusion of additional processor and system performance data in your data.

プロファイル ツールを使用する基本的なプロセスでは、次の手順を実行します。The following steps make up the basic process of using the Profiling Tools:

  1. 収集方法と収集するデータを指定して、パフォーマンス セッションを構成します。Configure the performance session by specifying the collection method and the data that you want to collect.

  2. パフォーマンス セッションでアプリケーションを実行して、プロファイリング データを収集します。Collect profiling data by running the application in the performance session.

  3. データを分析してパフォーマンスの問題を識別します。Analyze the data to identify the performance issue.

  4. コードのアプリケーション パフォーマンスが向上するように、Visual StudioVisual Studio 統合開発環境 (IDE: Integrated Development Environment) でコードを変更します。Modify code in the Visual StudioVisual Studio integrated development environment (IDE) to increases the application performance of the code

  5. 変更したコードのプロファイリング データを収集し、元のデータと変更後のデータのプロファイリング データを比較します。Collect profiling data on the changed code, and compare the profiling data of the original and changed data.

  6. パフォーマンスの向上を文書化したレポートを生成します。Generate a report that documents the increase in performance.

    プロファイリングによって提供される情報を処理するには、プロファイリングを実行するバイナリと Windows オペレーティング システムのバイナリのシンボル情報を使用できるようにする必要があります。To work with the information that is provided by profiling, you should have symbol information available for the binaries that you want to profile and for the binaries of the Windows operating system.

パフォーマンス セッションの構成Configure the Performance Session

プロファイリング セッションを構成するには、使用するプロファイリング メソッドと収集するデータを選択します。To configure a profiling session, select the profiling method that you want to use and the data that you want to collect. プロファイル ツールのパフォーマンス ウィザードを使用すると、ガイドに従って基本構成を行うことができます。[パフォーマンス セッション] プロパティ ページを使用して、オプションをさらに追加することもできます。The Profiling Tools Performance Wizard can guide you through the basic configuration, and you can use the Performance Session property pages to add more options:

  • プロファイリング メソッドには、サンプリング、トレース、メモリ割り当てがあります。Profiling methods include sampling, tracing, and memory allocation.

  • データ値には、時間、プロセッサやオペレーティング システムのパフォーマンス カウンター、ページ フォールトやカーネル遷移などのアプリケーション イベントが含まれます。Data values include time, processor and operating system performance counters, and application events such as page faults and kernel transitions.

    Visual StudioVisual Studio プロジェクトのパフォーマンス セッションをプロジェクト ソリューションの一部として構成することも、Visual StudioVisual Studio IDE を使って任意のバイナリをプロファイリングすることもできます。You can configure a performance session in a Visual StudioVisual Studio project as part of the project solution, or profile arbitrary binaries through the Visual StudioVisual Studio IDE. [パフォーマンス セッション] プロパティ ページでセッション プロパティを指定することもできますし、プロファイリング ウィザードを使用することもできます。You can specify session properties in the Performance Session property pages or you can use the Profiling Wizard.

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

プロファイリング データの収集は、パフォーマンス エクスプローラーから開始します。You start the collection of profiling data from Performance Explorer. プロファイリングを停止して再開することにより、収集するデータの量を制限できます。You can pause and resume profiling to limit the amount of data that you collect. 既に実行されているプロセスにアタッチすることもできます。You can also attach to a process that is already running.

アプリケーションが開始されるとすぐ、Visual StudioVisual Studio IDE に [データ収集コントロール] ウィンドウが表示されます。As soon as the application starts, the Data Collection Control window appears in the Visual StudioVisual Studio IDE. [データ収集コントロール] ウィンドウで、収集プロセスを停止してから再開して、アプリケーションの特定の部分をプロファイリングできます。From the Data Collection Control window, you can profile specific parts of your application by pausing and resuming the collection process. また、[データ収集コントロール] ウィンドウを使用して、収集されるデータにマークを挿入することもできます。You can also use the Data Collection Control window to insert marks into the data that is collected. マークはプロファイル ビューに表示されるユーザー定義データ ポイントであり、マークを使ってプロファイル データをフィルター処理できます。Marks are user-defined data points that are displayed in profile views and that can be used to filter the profiling data.

ターゲット アプリケーションがシャットダウンすると、プロファイリング ツールはプロファイリング データ ファイル (.vsp) を生成し、Visual StudioVisual Studio IDE に概要レポート ビューを表示します。When the target application shuts down, the Profiling Tools generates a profiling data file (.vsp) and displays the Summary Report view in the Visual StudioVisual Studio IDE.

データの分析とパフォーマンスの問題の識別Analyze the Data and Identify Performance Issues

プロファイリングの実行が終了すると、データが分析され、プロファイリング ツールの [パフォーマンス レポート] 表示ウィンドウに概要が表示されます。When you end a profiling run, the data is analyzed and a summary is displayed in the Profiling Tools Performance Report view windows. 呼び出し履歴とターゲット アプリケーションの個々の関数のプロファイリング データが収集されます。Profiling data is collected for the call stack and individual functions of the target application. レポート ビューには、アプリケーションのプロセス、スレッド、モジュール、関数、ソース コード行のデータ範囲のパフォーマンス分析が表示されます。Report views display performance analysis for data ranges of the processes, threads, modules, functions, and source code lines of the application. 関数のプロファイリング データ値には次のものが含まれます。Profiling data values for a function include the following:

  • 対象関数とその関数が呼び出した子関数で費やされたすべての時間 (包括値)。The overall time that was spent in the function and in child functions that were called by the function (inclusive values).

  • 対象関数のコードの実行のみで費やされた時間 (排他値)。The time that was spent executing only the code in the function (exclusive values).

    12 個以上の異なるビューにより、プロファイリング データを最も効率的な方法で分析できます。Over twelve different views enable you to analyze the profiling data in the most efficient way. ビューをカスタマイズすることで、データをフィルター処理したり、並べ替えたりして、パフォーマンスの問題の原因となっている可能性のある関数を見つけることができます。View customizations enable you to filter and sort the data to find the functions that might be causing performance issues. ホット パス フィルター処理を使用すると、[コール ツリー] ビューと [モジュール] ビューの最もアクティブなパスを即時に強調表示できます。Hot Path filtering provides immediate highlighting of the most active paths in Call Tree and Module views.

アプリケーション コードの変更Modify the Application Code

関係する 1 つ以上のパフォーマンス問題を特定できたら、Visual StudioVisual Studio IDE を使用してコードを変更してから、その変更のプロファイリング データを収集できます。After you have isolated one or more relevant performance issues, you can modify code by using the Visual StudioVisual Studio IDE, and then collect profiling data for your changes.

プロファイリング データの再収集とプロファイリング実行間のデータの比較Collect Profiling Data Again and Compare the Data between the Profiling Runs

プロファイル ツールの比較レポート ビューは、選択した 2 つのプロファイリング データ ファイルの間のモジュール、関数、または行パフォーマンスの違いを表示します。The Profiling Tools Comparison Report View displays the difference in module, function, or line performance between two selected profiling data files. 比較するプロファイリング データ値を指定し、比較ビューと個々のファイルのビューを切り替えることができます。You can specify the profiling data values that you want to compare, and you can switch between the Comparison View and views of the individual files.

結果のレポートの生成Generate a Report of the Results

パフォーマンス レポートのビューはどれも、行をメールやスプレッドシートに貼り付けることができます。1 つ以上のビューのデータを含むレポートを生成できます。You can paste rows of any performance report view into e-mails and spreadsheets, and you can generate reports that contain the data for one or more views.

関連項目See Also

概要 Overviews
チュートリアル: パフォーマンスの問題を特定するWalkthrough: Identifying Performance Problems