I have decided to post atleast once per day, so for want of a better topic, I am going to write a simple factorial program in C and flog it to death.
Well here we go, let me start with a childish
#include
int main(void)
{
int number, i = 1,result=1;
printf("\nEnter number: ");
scanf("%d",&number);
for(i=1;i<=number;i++) result = result*i;
printf("%d! = %d",number,result);
return 0;
}
Simple, but if i want to use gprof to profile, i need to put the code for factorial in a separate function.
So,
#include
int factorial(int n)
{
int i=1, result = 1;
for(i=1;i<=n;i++)result = result*i;
return result;
}
int main(void)
{
int number;
printf("\nEnter number: ");
scanf("%d",&number);
printf("%d! = %d",number,factorial(number));
return 0;
}
And compile using
cc -o flogFact flogFactorial.c -g -pg
Well, after running ./flogFact I get the gmon.out
Now let me run gprof flogFact
judge@boss:~/delete$ gprof flogFact -b
Flat profile:
Each sample counts as 0.01 seconds.
no time accumulated
% cumulative self self total
time seconds seconds calls Ts/call Ts/call name
0.00 0.00 0.00 1 0.00 0.00 factorial
Call graph
granularity: each sample hit covers 4 byte(s)
no time propagated
index % time self children called name
0.00 0.00 1/1 main [5]
[1] 0.0 0.00 0.00 1 factorial [1]
-----------------------------------------------
Index by function name
[1] factorial
Shit, no useful info just as yet, grr.. some more stuff to do, but i'm off for lunch...
#include
No comments:
Post a Comment