您的位置:首页 > 其它

获取程序运行时间

2013-04-21 21:31 155 查看
#include <stdio.h>

#include<sys/time.h>

#include<stdlib.h>

void play()

{

int i;

for(i=0;i<1000000;i++);

}

int main()

{

int diff;

struct timeval start,end;

gettimeofday(&start,0);

play();

gettimeofday(&end,0);

n=1000000 * (end.tv_sec-start.tv_sec)+end.tv_usec-start.tv_usec;

printf("do %d microsecond",n);

}

或者:

 #include <iostream>

 #include <time.h>

  using namespace std;

 

 timespec diff(timespec start, timespec end);

 

  int main()

 {

     timespec time1, time2;

     int temp;

     clock_gettime(CLOCK_PROCESS_CPUTIME_ID, &time1);

     for (int i = 0; i< 242000000; i++)

         temp+=temp;

     clock_gettime(CLOCK_PROCESS_CPUTIME_ID, &time2);

     cout<<diff(time1,time2).tv_sec<<":"<<diff(time1,time2).tv_nsec<<endl;

     return 0;

 }

 

 timespec diff(timespec start, timespec end)

 {

     timespec temp;

     if ((end.tv_nsec-start.tv_nsec)<0) {

         temp.tv_sec = end.tv_sec-start.tv_sec-1;

         temp.tv_nsec = 1000000000+end.tv_nsec-start.tv_nsec;

     } else {

         temp.tv_sec = end.tv_sec-start.tv_sec;

         temp.tv_nsec = end.tv_nsec-start.tv_nsec;

     }

     return temp;

 }

.c编译时需加上 -lrc
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: