Привет всем
счастливого Рождества
Мне нужен совет, у меня есть следующий код:
int main()
{
int k=5000000;
int p;
int sum=0;
for (p=0;p<k;p++)
{
sum+=p;
}
return 0;
}
Когда я собираю его, я получаю
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, я выполняю этот основной файл чаще всего, что вполне очевидно!
Тем не менее, я хочу пойти еще дальше и узнать, выполняются ли L2 или L3 больше всего. здесь очевидно, что L3 выполнен больше всего. все же есть какой-то профилировщик, эмулятор, который может дать мне эти данные для всего кода?