Deeper function profiling/emulation

Posted by Syntax_Error on Stack Overflow See other posts from Stack Overflow or by Syntax_Error
Published on 2010-12-26T13:48:48Z Indexed on 2010/12/26 13:54 UTC
Read the original article Hit count: 187

Filed under:
|
|
|

Hello everyone Merry Christmas I need an advice I have the following code:

    int main()
{
    int k=5000000;
    int p;
    int sum=0;

    for (p=0;p<k;p++)
    {
        sum+=p;
    }

    return 0;
}

When I assemble it I get

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

If I run it through gprof I get that main executed the most, which is quite obvious! Yet I want to go a step further and be able to know if L2, or L3 executed the most. here it is obvious that L3 executed the most. yet is there some kind of profiler, emulator that can give me that data for an entire code?

© Stack Overflow or respective owner

Related posts about c

    Related posts about assembly