快速使用PTU工具得到函数调用次数

1010 篇文章 11 订阅
831 篇文章 16 订阅

Intel® VTune™ Amplifier XE 改善了Call Graph的性能问题,采用统计调用(Statistical Call Graph)的方法,把Sampling(采样)和Call Graph(调用图)的功能(过程)合二位一。这种方法不仅帮助用户找到热点函数,而且找到了调用者的函数以及热点函数调用者的贡献度(消耗CPU的时间,对热点函数而言)。

美中不足的是,虽然基于统计的样本收集(Statistical Sampling)给出了热点函数以及调用关系,但是没有给出调用次数(call count)。

而另外一个实验工具Intel® Performance Tuning Utility (PTU)  却能很好的解决这个问题。

下载后,解开这个工具包,无需安装。运行此工具会检查许可证(license), VTune™ Amplifier XE的license可以和PTU共用。本文我们不使用PTU中的Event Based Sampling,就无需卸载VTune™ Amplifier XE的驱动程序以及安装PTU的驱动程序(如有此需求,具体方法见这篇文章)。

直接在解压缩目录下打开Eclipse,如 /home/peter/ptu40_003_lin_intel64/eclipse/eclipse

创建一个PTU project, 关联一个目标应用程序,然后按右键选“Profile as” – “Basic Call Count”, 运行后产生报告。此报告含应用程序运行中调用到的所有模块(包含了系统的库函数和用户的库函数),可以按程序名和调用的次数进行排序。一般而言,我们可以按感兴趣的模块过滤结果。

 

此结果最大的用处是:基于VTune™ Amplifier XE 的热点报告,知道热点函数的时间和每个调用者的“贡献度”,可以知道函数一共被调次数和每个调用者的调用次数(假设PTU和VTune™ Amplifier 测试时目标程序的执行路径是一致的)。

尤为重要的是,我们要找”最热”的函数中“call count”值最大的。此种函数性能上稍作改进,由于调用次数多,对整个应用程序性能的提高,可以“立竿见影”。

  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 2
    评论
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值