测量代码段运行时间

需要

time.h
struct timespec
{
  time_t tv_sec;     // seconds
  long tv_nsec;     // and nanoseconds
};
int clock_gettime(clockid_t clk_id,struct timespec *tp);

例子

 1 #include <stdio.h>
 2 #include <time.h>
 3 #include <math.h>
 4 #define times 1e6
 5 
 6 struct timespec t_start = {0,0};
 7 struct timespec t_end = {0,0};
 8 
 9 void *funcol[] = {sin, cos, tan, sinh, cosh, tanh, asin, acos, atan, log, log2, log10, exp, sqrt};
10 
11 int main()
12 {
13     
14     for(int p=0;p<14;p++)
15     {
16         clock_gettime(CLOCK_REALTIME,&t_start);
17         for(int i=0;i<times;i++)
18             (*(double (*)(int))funcol[p])(i);
19         clock_gettime(CLOCK_REALTIME,&t_end);
20         printf("%lf ms\n",(double)(t_end.tv_sec-t_start.tv_sec)*1000+(double)(t_end.tv_nsec-t_start.tv_nsec)/1000000);
21     }
22     return 0;
23 }

 

上一篇:没想到上面好看的跳舞小姐姐蛮多的,【Python爬虫】采集微博视频数据


下一篇:java 线程五 线程协作与通信