J'ai une application écrite en C++ que quelqu'un d'autre a écrite de manière à tirer le maximum des caches cpu. Cette application fonctionne sur un système d'exploitation Ubuntu invité qui utilise la paravirtualisation. J'ai couru le cachegrind et ai reçu des taux d'absence de cache très bas.Cachegrind sous Xen
Étant donné que mon système d'exploitation est virtualisé, puis-je être sûr que ces valeurs sont correctes en montrant que le cache de cpu est bien utilisé pour mon application?
Le mot-clé ici est "supposé". Les programmeurs sont très bons pour se tromper sur ce qui se passe, du point de vue temporel, dans un programme. La première chose que je suggère est de goûter à la chose et de voir ce qu'elle fait vraiment. [Voici un exemple.] (Http://stackoverflow.com/questions/926266/performance-optimization-strategies-of-last-resort/927773#927773) –
+1 Bonne question. Je travaille à travers cela maintenant, aussi. Des mises à jour depuis la question d'origine? – Iterator
@Iterator Je n'ai jamais vraiment trouvé un bon moyen de tester cela et mon organisation a finalement déplacé l'application sur sa propre machine autonome plutôt que de la garder virtualisée. –