You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何使用kcachegrind工具查询函数的实际执行耗时

kcachegrind实际耗时查询方案

kcachegrind本身支持直接查看实际耗时,不需要自行计算或额外埋点,具体操作如下:

  • 首先确认你导入的callgrind采集文件是否开启了时间采集:用valgrind生成分析数据时,添加--collect-systime=yes参数,采集到的结果会自带系统时间统计,不需要额外用clock_gettime做埋点
  • 打开kcachegrind导入数据后,在左侧侧边栏找到「事件类型」选择区域,取消默认的「相对百分比」显示选项,选中Time(部分版本显示为System time)类事件,此时主列表的Inc.、Self列就会直接显示每个函数的inclusive(包含子调用)和exclusive(自身执行)实际耗时,单位默认为微秒
  • 程序总执行时长可以直接查看主列表顶部根节点的Inc.列数值,或者查看界面底部状态栏的总开销统计,不需要额外自行查找

如果是已经采集好的、未开启时间统计的旧数据,你也可以通过CPU周期数换算:在事件类型中选中Cycles,根节点的Inc.值就是程序运行消耗的总CPU周期,除以你CPU的额定主频就能得到大致的实际执行时间,再结合每个函数的百分比就能算出对应耗时,不过精度会低于直接采集时间的结果。

内容的提问来源于stack exchange,提问作者CSoverload

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.10.03 11:54:03