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 new
Last post
For more complete information about compiler optimizations, see our Optimization Notice.

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.

Leave a Comment

Please sign in to add a comment. Not a member? Join today