我正在使用英特尔的Vtune对我的代码进行运行时分析。 (特别是热点分析模式,以识别耗时的功能)。在应用程序完成并且vtune生成其报告之后,我打开GUI" ample-gui"可视化结果。
在"自下而上"或者"来电者/被叫者" view,而不是在顶部显示用户函数,它显示std c ++函数(如malloc,dynamic_cast等)作为最耗时的函数。 我尝试过启用" Only User Functions"底部菜单中的模式。
如果它显示在函数中花费的总时间(跨多个调用),而不考虑它正在调用的函数的运行时间,则可以这样做。 但 在"来电者/被叫者"模式GUI显示2个运行时列" Total"和"自我"。根据描述" Total"函数的运行时添加它调用的(被调用者)函数的自运行时。 但结果似乎没有遵循上述定义。此外,Total和self runtime列具有相同的运行时配置文件。
同样在" Total"运行时列,理想情况下main()应该有100%的运行时间,然后其他函数应该随着流程的进行而中断。
我需要帮助我如何将实际的用户功能识别为热点。是否需要启用任何特定选项。Snapshot-attached in link