答えて
2つの目標を区別すると便利です。コード内のボトルネックを実際に見つけ出すのではなく、測定するだけです。
後者については、私はthis techniqueが最も効果的であることを発見しました。
多くの私の仕事は大規模なC#アプリケーションであり、人々がパフォーマンス上の問題を抱えているため、常にI/Oバインドが行われることがあります。 それにかかわらず、このメソッドはそれらを直ちに検出します。
Visual Studio 2010の並行処理ビジュアライザは、IOボトルネックの大きな領域を特定するのに役立ちます。
「スレッドビュー」には、アプリケーション内のすべてのスレッドのタイムラインが表示され、さまざまな種類のアクティビティを示す色が表示されます。 IO上でブロックされているスレッド(ファイル、ネットワークなど)は、スレッドが紫色で表示されます。これらのセグメントの1つをクリックすると、そのスレッドがIO上でブロックしているコールスタックが表示されます。下の画像では、同期(赤)セグメントが選択され、スタックは「現在のスタック」パネルに表示されています。
各ディスクを表すチャネルもあり、読み書きを表示し、これらのセグメントの1つをクリックすると、そのセグメントが表すファイル操作が表示されます。例えば
、タイムラインの下に
は、あなたが「可視タイムラインプロファイル」内の項目をクリックすることでアクセスできるレポートの数です。表示されているタイムライン内のさまざまなアクティビティの集計スタックを表示するので、IO上のブロックの大部分が発生しているスタックを見ることができます。同様に、「ファイル操作」レポートには、表示可能なタイムラインでの読み取り/書き込みが表示されます。
"ファイル操作" 報告書は次のようになります。詳細については
、team blog、MSDNまたはHazimシャフィのblogやMSDN magazine articleをチェックしてください。
- 1. C++マルチスレッド・アプリケーションのプロファイリング
- 2. IOバウンド操作の並列実行
- 3. ライブラリーでのg ++ベースのアプリケーションのC++プロファイリング
- 4. Chromeアプリケーションのプロファイリング
- 5. プロファイリングWPFアプリケーション
- 6. JNIアプリケーションのプロファイリング
- 7. C LuaJitプロファイリング
- 8. C++プログラムのプロファイリング
- 9. テストBACKBONE.JSアプリケーション - バウンド要素とビュー
- 10. MacでのC++プロファイリング
- 11. CコードのプロファイリングR
- 12. C + Python(SWIG)のプロファイリング
- 13. JavaラインIOとC++ IO?
- 14. のJavaアプリケーション・プロファイリングとテスト
- 15. Visual Studio 2008で構築されたネイティブC++ WinCEアプリケーションのプロファイリング
- 16. Scotch-io/node-todoアプリケーション
- 17. C#IO例外
- 18. C#Shell - IOリダイレクト
- 19. C++ unicode file io
- 20. C#IOバインド操作
- 21. cppreference.comのIOエラーテーブル(C++)
- 22. バウンドのTextBox
- 23. iPhoneでWebアプリケーションをプロファイリングする
- 24. AzureでのASP.NET MVC3アプリケーションのウォーミングアップのプロファイリング
- 25. YourKitによるSparkアプリケーションのプロファイリング
- 26. EclipseでのJavaアプリケーションのプロファイリング? (プラグイン)
- 27. IO内部アプリケーションを実行
- 28. Unity3Dでバウンド回転
- 29. C#.netコードのCPUキャッシュのプロファイリング?
- 30. ドッカーコンテナで実行中のC#ドットネットアプリケーションのプロファイリング
I/Oバウンドによって:ファイルへの(意図的な)読み込み/書き込みを大量に行っているか、メモリに収まらない膨大な量のデータを扱っていることを意味しますか?記憶行動? – dcn