【发布时间】:2011-01-04 09:54:54
【问题描述】:
有人知道任何汇编循环级别分析器吗?
我一直在使用 gprof,但 gprof 隐藏了循环,它是函数级别的分析,但为了优化我的代码,我想要一些东西进入循环级别。我希望它是自动化的,只给我像 gprof 这样的输出。有人建议我去 dtrace,但我不知道要开始。任何人都可以指导我吗? 例如
main:
pushl %ebp
movl %esp, %ebp
subl $16, %esp
movl $5000000, -4(%ebp)
movl $0, -12(%ebp)
movl $0, -8(%ebp)
jmp .L2
.L3:
movl -8(%ebp), %eax
addl %eax, -12(%ebp)
addl $1, -8(%ebp)
.L2:
movl -8(%ebp), %eax
cmpl -4(%ebp), %eax
jl .L3
movl $0, %eax
leave ret
例如在 gprof 中它会说 main 执行了 1 次, foo 执行了 100 次。但是我想知道 L2 或 L3 是否执行了 1M 次,那么我将专注于优化。 如果我的问题含糊不清,请让我解释更多 谢谢
【问题讨论】:
标签: c assembly loops profiling dtrace