時間計測 C言語


C言語で時間計測のサンプルコード (もとのサイトは忘れた)

#include <stdio.h>
#include <time.h>

int main(){

  struct timespec ts0,ts1,ts2;
  double diff;
  long diff_ns;
  int rett;


  
  int i;
  
  rett = timespec_get(&ts0,TIME_UTC); //ts0に現在時刻をいれる

  //なんかの処理その1
  for(i=0;i<1000;i++){
    printf("hello world!\n");
  }

  rett = timespec_get(&ts1,TIME_UTC); //ts1に現在時刻をいれる

  //なんかの処理その2
  for(i=0;i<2000;i++){
    printf("hello world hello world!\n");
  }
 
  rett = timespec_get(&ts2,TIME_UTC); //ts2に現在時刻をいれる

  //差分をとることで処理にかかった時間が求まる
  //ts1 と ts0の差分 ---> なんかの処理その1にかかった時間
  diff = difftime(ts1.tv_sec,ts0.tv_sec);                                     
  diff_ns = ts1.tv_nsec - ts0.tv_nsec;                                        
  printf("%f s\n",diff+(double)diff_ns / 1000000000);    
  //ts2 と ts1の差分 ---> なんかの処理その2にかかった時間
  diff = difftime(ts2.tv_sec,ts1.tv_sec);                                     
  diff_ns = ts2.tv_nsec - ts1.tv_nsec;                                        
  printf("%f s\n",diff+(double)diff_ns / 1000000000);  
  
  return 0;
}


コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です