Linux: debug: perf: report: no-children
perf report 参数 no-children的意思是什么?作用是什么?
ChatGPT said:
在使用 perf report 命令时,–no-children 参数的作用是仅显示目标函数本身所消耗的性能资源,而不包括其子调用(即函数调用链中的下层函数)所消耗的资源。
默认情况下:perf report 显示的性能数据会包括某个函数及其子函数所消耗的 CPU 时间。也就是说,如果函数 A 调用了函数 B,perf report 默认会将 B 所消耗的 CPU 时间也归入到 A 中,这样你看到的 A 的性能消耗可能会包含它的子函数。
使用 --no-children 参数时:perf report 只会显示每个函数自身消耗的性能数据,不再包括其子函数的消耗。因此,你能更加直观地看到每个函数自身的性能开销。
–no-children 主要用于优化分析场景,在你只关心特定函数的性能消耗时,不希望其子函数的消耗影响结果。例如,当你想了解某个函数本身的 CPU 使用情况,而不关心它的子调用函数的影响,这个选项就非常有用。