vendredi 30 mars 2018

Runtime of callee functions not added to caller function in vtune profiling

I am using Intel's Vtune for runtime profiling of my code. (Specifically hotspot analysis mode to identify time-consuming functions). After the application completes and vtune generates its reports, i open the GUI "ample-gui" to visualize the results.

In the "Bottom-up" or "Caller/Callee" view, instead of showing user functions at the top, it shows std c++ functions (like malloc, dynamic_cast etc.) as the most time consuming functions. I have tried enabling "Only User Functions" mode in the bottom menu.

This is possible if it displays the total time spent in a function (across multiple calls), without accounting for runtime of the functions it is calling. But In the "Caller/Callee" mode the GUI displays 2 runtime columns "Total" and "Self". According to the description "Total" runtime of a function adds the self-runtime of the (callee) functions it calls. But the results do not seem to follow the above definition. Also Total and self runtime columns have the same runtime profile.

Also in "Total" runtime column, ideally main() should have 100% of the runtime and then other functions should break-up as the flow proceeds.

I need help on how can i identify actual User functions as hotspots. Is there any specific option which i need to enable.Snapshot-attached in link

Aucun commentaire:

Enregistrer un commentaire