ここで説明されているようにインストルメンテーション モデルを使用して .Net アプリケーションのパフォーマンスをプロファイルすると、プロファイル ツールがプロファイル対象の実行可能ファイルの実行可能コードを変更して、パフォーマンス測定コードを挿入することになりますか? 私の元の実行可能コードは変更されていますか?
http://msdn.microsoft.com/en-us/library/ms242753(VS.80).aspx
よろしく、ジョージ
ここで説明されているようにインストルメンテーション モデルを使用して .Net アプリケーションのパフォーマンスをプロファイルすると、プロファイル ツールがプロファイル対象の実行可能ファイルの実行可能コードを変更して、パフォーマンス測定コードを挿入することになりますか? 私の元の実行可能コードは変更されていますか?
http://msdn.microsoft.com/en-us/library/ms242753(VS.80).aspx
よろしく、ジョージ
はい; インストルメント化されたコードは、インストルメント化されていないコードとは異なります。これは、結果に少し注意する必要があることを意味しますが、ほとんどのプロファイラーは、重要な部分に焦点を当てるという合理的な仕事をします. 私はサンプリング オプションでうまくいったことは一度もありません。個人的には、jetBrainsの提供が気に入っています。
サンプリングモードは、コードのホットエリアを知るためのものであり、コードを変更するのではなく、実行中のすべてのスレッドの現在のコールスタックをサンプリングするだけです。スレッドが完全にスリープしている場合、またはリソース(mutex、イベントなど)を待機している場合は、ホットエリアとしてカウントされます。このモードを使用して負荷を測定します。
インストルメンテーションモード(トレース)は、各メソッドで費やされた時間(サイクル単位)を測定します。
(デバッグシンボルを使用して)コードをインストルメント化する必要がありますが、最後にシステムにかかるオーバーヘッドを除外します。このモードを使用して、単一のプロセスを測定します。