負荷計測系記事もくじ
https://tera1707.com/entry/2022/02/06/144447#Profile
内容
この動画を見て学んだことのメモ。
Performance Profiling | Part 1 An Introduction
Performance Profiling | Part 2: Choosing the right tool
Part1,2は、負荷の計測をするときに、どういう手段があるのか?の紹介と、それぞれをどういうときに使えばよいのか?の説明。
手段には、
- 診断ツールウインドウ
- パフォーマンスプロファイラ
というのがある。
診断ツールウインドウというのはコレ。
[デバッグ] > [ウインドウ} > [診断ツール] を選ぶか、Ctrl+Alt+F2 で出てくる。
パフォーマンスプロファイラというのはコレ。
[デバッグ] > [パフォーマンスプロファイラ] を選ぶか、Alt +F2 で出てくる。
パフォーマンスプロファイラと、診断ツールは別物。
診断ツールは、デバッガーとくっついている。
パフォーマンスプロファイラは、デバッガーとはまた別の、単一のツール。
負荷を測るなら、リリースビルドで実行することをお勧めする。
デバッグビルドだと、breakでとめたりとか、デバッグ時の機能のためのモジュールを読み込んだりして、リリースとは異なるパフォーマンスになるため。
ファイルアクセスやネットワークの動きをみるときは診断ツールとプロファイラはあまりかわらないが、
CPUについては、大きく変わる可能性がある。
→CPUをみるときは、リリースビルドでプロファイラ―を使うことをお勧めする。
診断ツールの真価は、デバッグビルドのデバッグ中の問題を解決すること。 プロファイラの真価は、本番環境での計測を行うこと。
プロファイルは、5分以内にするのがおすすめ。 (データ収集量が多すぎて、表示に時間かかりすぎるため)
シンボルの読み込みに時間がかかりすぎる場合は、オプション>デバッグ>シンボル から、シンボルの読み込みをキャッシュされたものに絞るとか、検討したらよい。
備考
MSの方が、「CPU使用率の診断ツールウインドウは、F5でデバッグしたら常に動いてるはずなのに、ほとんどの人が表示後即閉じちゃうんです」と自虐的に言っているのがおもしろい。
今後は閉じないようにしようと思う。
(実際、CPU使用率が変に高いということがあったので、もしその時、この診断ウインドウを見る習慣があったら、リリースしちゃうまえに気づけたかもしれない。)