ファイルの読み取りと書き込みの情報を表示してパフォーマンスを向上させる

ファイル IO ツールは、プロファイル セッション中に、読み込まれたファイルと共にファイルの読み取りと書き込みの情報を表示します。 ファイルは収集後にレポートに自動生成され、ターゲット プロセスごとに集計情報を表示した状態で配置されます。

セットアップ

  1. Alt + F2 キーを押して Visual Studio にパフォーマンス プロファイラーを開きます。

  2. [ファイル IO] チェック ボックスをオンにします。

    Screenshot showing File IO tool selected.

    Note

    ツールを選択できない場合は、他のすべてのツールのチェック ボックスをオフにします。これは一部のツールは単独で実行される必要があるためです。 ツールの同時実行の詳細については、コマンド ラインからのプロファイリング ツールの使用方法を示すスクリーンショットを参照してください。

    それでもツールを使用できない場合は、プロジェクトが前述の要件を満たしていることを確認します。 プロジェクトが最も正確なデータを取得するためのリリース モードになっていることを確認します。

  3. [開始] ボタンを選択してツールを実行します。

  4. 確認を求められたら [はい] を選択します。

  5. ツールの実行が開始されたら、アプリ内でプロファイリングするシナリオを検討します。 次に、 [収集の停止] を選択するかアプリを閉じてデータを確認します。

Screenshot showing File IO tool stopped.

ファイル IO レポートを分析する

[ファイルの読み取り] を選択すると 1 ページのすべてのファイルの読み取りが、[ファイルの書き込み] を選択すると書き込みが表示されます。 いずれかの行を右クリックすると、コード内のソースに移動できます。 集計行が複数回読み取られた場合は、その行を展開すると、そのファイルの個々の読み取り操作とその頻度が (複数回読み取られた場合) 表示されます。

Screenshot showing File Reads selected.

個々のファイル読み取りの [重複係数] は、ファイルから読み取られたバイト数をファイルのサイズで割った値です。 集計読み取りの場合、ファイルから読み取られた合計バイト数を、すべての読み取り操作のファイルの平均サイズで割った値です。 ファイルの書き込みにも同じロジックが適用されます。 重複係数は、ファイルから必要以上の読み取りまたは書き込みを行っているかどうかを示します。 重複係数が 3 倍の場合は、ファイルから読み取っているバイト数がファイル自体のサイズの 3 倍であることを意味します。これは、実感している以上に読み取りと処理を行っていることを示している可能性があります。 これは、ファイルの読み取りと処理の結果をキャッシュすると、アプリのパフォーマンスが向上する可能性を示している可能性があります。

Screenshot showing Duplication Factor selected.

ファイルをダブルクリックすると、[バックトレース] ビューに読み込まれます。 このビューは、読み取りまたは書き込みのいずれかのファイルに対して読み込まれるので、コード内のどこで読み取りまたは書き込みが行われているのかを確認できます。

Screenshot showing Backtraces view selected.

Note

現在サポートされているのは、データの読み取り、データの書き込み、およびカウントのみです。

Note

ファイルの読み取りのキャッシュは OS によって既に行われているので、正しい修正ではありません。 代わりに、ファイルの読み取りの変換対象をキャッシュします。