Fork me on GitHub

double getUnixTime(void)
{
    struct timespec tv;

    if(clock_gettime(CLOCK_REALTIME, &tv) != 0) return 0;

    return (((double) tv.tv_sec) + (double) (tv.tv_nsec / 1000000000.0));
}

double start_time = getUnixTime();
double stop_time, difference;

algorithm();

stop_time = getUnixTime();
difference = stop_time - start_time;
printf("elipsed time :%lf\ns",difference);

g++ t.c++ -lrt

 

 

gprof 

gprof -b -p astart gmon.out >&tmp.txt

 

   @ gprof hello gmon.out -p 得到每个函数占用的执行时间
       @ gprof hello gmon.out -q 得到call graph,包含了每个函数的调用关系,调用次数,执行时间等信息。
       @ gprof hello gmon.out -A 得到一个带注释的“源代码清单”,它会注释源码,指出每个函数的执行次数。这需要在编译的时候增加 -g选项。

 

http://www.thegeekstuff.com/2012/08/gprof-tutorial/

posted on 2014-07-30 21:01  huashiyiqike  阅读(194)  评论(0编辑  收藏  举报