VTune shows LLC misses for code line with only "}"

VTune shows LLC misses for code line with only "}"

I have double-clicked the name of a function in the bottom-up view and it shows me the source code for the function, along with individual metrics per line of code. I have code resembling:

std::vector<boost::shared_ptr<MyClass>> v = getVector();

for(boost::shared_ptr<MyClass> m : v){     //VTune shows no LLC misses here, but shows L2 bound misses

   a = b * c; //Metrics look fine for this row
   d = e * f; //Metrics look fine for this row

}  //VTune shows LLC misses for this line??

As you can see from my comments above, the VTune GUI display shows a LLC miss value for the end of the for-loop. How should I interpret this? At first I thought it was the for-loop itself, but as you can see from my code comments, there is a separate row showing the metrics for the start of the for-loop.

Help?

2 posts / 0 nouveau(x)
Dernière contribution
Reportez-vous à notre Notice d'optimisation pour plus d'informations sur les choix et l'optimisation des performances dans les produits logiciels Intel.

Not knowing specifically what you're looking for, I'd suggest you try highlighting that source line and turning on assembly view to see which instructions the events became associated with, and whether VTune is in fact interpreting the debug symbols provided by the compiler in such a way as to associate those instructions with that source line.

It seems entirely possible that instructions associated with loop cleanup are waiting for cache misses to be resolved.

Laisser un commentaire

Veuillez ouvrir une session pour ajouter un commentaire. Pas encore membre ? Rejoignez-nous dès aujourd’hui