gprof没有显示时间,即使花费超过20分钟也显示0.0%的时间?

时间:2013-09-23 09:27:28

标签: gprof

我是gprof的新手,这是我的程序,

 #include<stdio.h>
int somefunc(int n)
{
 int i,j;
for(i=1;i<=n;i++){
for(j=1;j<=i;j++){
  printf("%d\t",j);
}
printf("\n");
}
}
int somefunc1(int n)
{
  int i,j;
  for(i=n;i>=1;i--){
  for(j=i;j>=1;j--){
  printf("%d\t",j);
 }
 printf("\n");
}

}

int main()
{
  printf("Hello\n");
  int n;
  printf("enter n value\n");
 scanf("%d",&n);
 somefunc(n);
 printf("another\n\n");
 somefunc1(n);
printf("another\n") ;
}

我试过这个,

gcc -pg program.c
./a.out
gprof a.out gmon.out

并且它不是显示时间,即使花费超过20分钟也显示0.0%的时间? 输出是这样的,

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  somefunc
 0.00      0.00     0.00        1     0.00     0.00  somefunc1

1 个答案:

答案 0 :(得分:1)

gprof在I / O或其他非处理时间内不进行采样。

由于你的程序几乎没有 I / O外,gprof几乎没有显示任何内容。

See this.