Why did you get a different hottest function when toggling the specific button?

Intel® Parallel Amplifier has the method called "Hotspot Analysis" to generate the performance data to determine the best code section to optimize. In report, hottest function is found by clicking the CPU Time column header to sort descending on the CPU Time column, the uppermost hotspot is the hottest function. The developer will focus on hottest function to identify performance issue in the algorithm, or identify performance issue in user code.

There is a button named "Attributing Time From System To User Code" on the toolbar - if the user toggles this button, the result of "Hotspot Analysis" will be changed.


If the user toggles "Attributing Time From System To User Code" button to "ON" state, all user functions will be displayed (all system functions will be NOT), and the user will find the hottest function (which is a user function).


If the user toggles "Attributing Time From System To User Code" button to "OFF" state, both all user functions and all system functions will be displayed, and the user will find the hottest function which could be a user function either a system function.


On above two pictures, function "component_writeInfo" is a user function, but it spent a little CPU time by itself, that is why it was not shown in Top-functions-list when system functions do not attribute to user fcuntions. "kFastSystemCallRet" is a hottest system function, which spent much CPU times and could be attributed to other user functions, for example, function "component_writeInfo".

The user is the decison maker. If the user wants to find hottest function and don't care if there are system functions attributed to, then the user can set "Attributing Time From System To User Code" to "ON" state; Otherwise set it to "OFF" state.     

For more complete information about compiler optimizations, see our Optimization Notice.