キャッシュミスが問題であるかどうか、およびそれらがコードで発生している問題であるかどうかを識別するために、コミュニティはどのツールを使用していますか?
最初の質問は次のとおりです。
キャッシュミスの結果としてメインメモリからのデータを待機するために費やされている時間を特定するにはどうすればよいですか?OProfileのようなサンプリングプロファイラーは、このデータを待機している関数に時間を割り当てますか?たとえば、ディスク読み取りからのデータを待機している関数に時間を割り当てないため、メモリからのデータを待機している場合も同じことが当てはまるかどうか疑問に思う必要があります。
2番目の質問は、キャッシュミスが実際にボトルネックであると特定した場合、コードのどの部分がキャッシュされていないメモリを要求しているかを特定するにはどうすればよいですか?イベントとしてLLC_MISSESでOProfileを使用する必要がありますか?私が知らない他のツールはありますか?将来、特定のツールチェーンに縛られたくないので、プロプライエタリソリューションを使用するやむを得ない理由がない限り、プロプライエタリソリューションから離れることを好みます。
助けてくれてありがとう!