Find centralized, trusted content and collaborate around the technologies you use most.
Teams
Q&A for work
Connect and share knowledge within a single location that is structured and easy to search.
CPU キャッシュを最大限に活用するように他の誰かが書いた C++ で書かれたアプリケーションがあります。このアプリケーションは、準仮想化を使用しているゲスト Ubuntu OS 上で実行されます。cachegrind を実行したところ、キャッシュ ミス率が非常に低くなりました。
私の OS は仮想化されているため、CPU キャッシュが私のアプリケーションで十分に使用されていることを示す上で、これらの値が実際に正しいと確信できますか?
Cachegrind はシミュレーターです。実際の CPU は実際には異なるパフォーマンスを示す場合があります (たとえば、実際の CPU は、cachegrind とは異なるキャッシュ階層、異なるサイズのキャッシュ、異なる交換ポリシーなどを持つ場合があります)。実際の CPU パフォーマンス カウンターを監視して、キャッシュに関して実際のハードウェア上でプログラムが実際にどの程度実行されているかを確認する必要があります。