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

关于perf report -g输出中展开子项首列含义的技术问询

关于perf report -g输出的两个核心问题解答

一、父项与子项同符号(omp_in_final)的百分比差异

原始输出片段:

Children      Self   Command  Shared Object       Symbol
-   87.46%      3.94%  my_cmd   libgomp.so.1.0.0    [.] omp_in_final                                                           
  + 83.53% omp_in_final                                                                                                     
  + 2.81% clone                                                                                                              
  + 1.12% _start
  • 父行的87.46%是omp_in_final的Children占比:包含采样点落在omp_in_final自身(即Self的3.94%)以及它调用的所有后代函数中的总采样占比。
  • 子项的83.53% omp_in_final是调用者视角下的递归调用占比:这部分采样来自于omp_in_final被另一个omp_in_final递归调用的场景——也就是当调用栈中存在「上层omp_in_final → 当前omp_in_final」的链路时,这些链路对应的总采样占比。
  • 两者的差值87.46% - 83.53% ≈ 3.93%,和Self的3.94%几乎一致(浮点计算误差),这部分就是没有进入递归、直接在omp_in_final自身指令上结束的采样。

二、调用者模式下展开项的含义

在调用者模式(perf report -g caller)下,每一行的子项代表的是调用当前行函数的上层函数,而非当前函数调用的下游函数:

  • 原始输出里的+83.53% omp_in_final:表示有83.53%的采样中,当前的omp_in_final是被另一个omp_in_final调用的;
  • +2.81% clone:表示有2.81%的采样中,omp_in_final是被clone调用的;
  • +1.12% _start同理。

而你展开omp_in_final子项后看到的omp_get_num_procs等函数,是上层omp_in_final所调用的下游函数——这些函数的采样被计入了父行omp_in_final的Children占比中,展开后是在展示递归调用链里上层函数的被调用者详情。

展开后的输出片段:

-   87.46%     3.94%  my_cmd    libgomp.so.1.0.0    [.] omp_in_final                                                           
   - 83.53% omp_in_final                                                                                                      
        38.80% omp_get_num_procs                                                                                              
      + 21.33% do_manual_omp_version._omp_fn.0                                                                                 
      + 3.61% do_bestcase_omp_version._omp_fn.0                                                                                
      + 3.39% do_omp_barrier_only._omp_fn.0

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.24 14:25:33