同じ .net 3.5 アプリケーションの 2 つのバージョンの前後比較をしようとすると、使用するツールによっては一貫性のない結果が得られます。
typeperf - これは信頼できると思いますが、次のように述べています。
- v1: 244MB / 260MB (プライベート バイト / ワーキング セット)
- v2: 281MB / 296MB
Process Explorerでは、パフォーマンス グラフに次の数値が表示されます。
- v1: 283MB (プライベート バイト)
- v2: 262MB
そのため、typeperf は v2 がより多くのメモリを消費したと言っていますが、Process Explorer は反対のことを主張しています。
これらはすべて別々の測定値であり、異なる実行ですが、数値は驚くほど確実に再現可能です。
前述の 2 つのツールに加えて、 Process Explorer から完全なメモリ ダンプを取得し、ファイル サイズのみを確認しました (WinDbg を実行したり、その他の方法で分析したりする時間がありませんでした)。
- v1: 484MB (完全なダンプ ファイル サイズ)
- v2: 480MB
また、アプリを.net Memory Profilerから実行すると、ネイティブ メモリ、.net メモリ、および合計メモリの両方が、v1 よりも v2 の方が低くなります。
したがって、それは世界の他の地域に対して typeperf であるようです (WinDbg 分析はまだ未解決です)。
誰が正しいのか、どうすればわかりますか?