オブジェクトに対して多くの操作を行うプログラムに取り組んでいます。それらの作成、削除、動的キャスト、ポインターのシャッフル、コンテンツの比較など。これらのオブジェクトのほとんどは少なくとも 40 バイト (最大 ~ 90 バイト) であり、一度に 10,000 を超えるオブジェクトがメモリに存在する可能性があります。
私が判断しようとしているのは、それらのサイズを小さくしようとする必要があるかどうかです。コンストラクター、new、delete などをプロファイリングできます。ただし、大きなオブジェクトによる最も重要なパフォーマンス ヒットは、キャッシュの扱いにくさによるものであると考えるようになりました。発生するキャッシュ ミスの数に対するオブジェクトのサイズの寄与を判断する方法はありますか?
PS: dynamic_cast の過度の使用もパフォーマンスに影響すると思います。ただし、これは診断がはるかに簡単です。
編集:プロファイリングせずに最適化しても無駄であることはわかっています。私が求めているのは、プロファイリングから、それが問題であるかどうかをどのように判断するかです。標準のプロファイリング ツールが役に立たないように、ペナルティがコード全体に分散されている可能性はありますか?