gpt4 book ai didi

linux - LBR vs DWARF vs fp 的性能记录选择有什么作用?

转载 作者:太空狗 更新时间:2023-10-29 11:06:41 44 4
gpt4 key购买 nike

当我在我的代码上使用 perf record 时,我发现 --call-graph 选项有三个选择:lbr(最后分支记录)、dwarffp

它们之间有什么区别?

最佳答案

选项--call-graph指的是调用图/调用链的集合,即样本的函数堆栈。

默认情况下,fp 使用帧指针。这是非常有效的,但可能不可靠,特别是对于优化代码。通过显式使用 -fno-omit-frame-pointer,您可以确保这对您的代码可用。然而,图书馆的结果可能会有所不同。

对于 dwarfperf 实际上收集并存储堆栈内存的一部分本身,并通过后处理展开它。这可能非常耗费资源,并且堆栈深度可能有限。默认堆栈内存块为 8 kiB,但可以配置。

lbr 代表最后的分支记录。这是Intel CPU支持的硬件机制。这可能会以便携性为代价提供最佳性能。 lbr 也仅限于用户空间函数。

关于linux - LBR vs DWARF vs fp 的性能记录选择有什么作用?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57430338/

44 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com