ブログ

TIPS:処理時間の計測方法(gettimeofdayを使う)

at_kazutaka.bito
2017年8月31日 18時48分

プログラムの処理速度を計測する方法として、gettimeofdayが使えます。
下記のコードのように、処理時間を測定したい処理(下記コードの場合、/** Describe Function for Measurement of time **/の箇所)の前後で、gettimeofdayで時刻を測定して、差分をとると、処理時間が測定できます。

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

#include <stdlib.h>
#include <string.h>

int main()
{
    struct timeval time1;
    struct timeval time2;
    float diff_time;

    gettimeofday(&time1, NULL);
//    printf("sec: %d, usec: %d\n", (int)time1.tv_sec, (int)time1.tv_usec);

    /** Describe Function for Measurement of time **/

    gettimeofday(&time2, NULL);
//    printf("sec: %d, usec: %d\n", (int)time2.tv_sec, (int)time2.tv_usec);

    diff_time = time2.tv_sec - time1.tv_sec +  (float)(time2.tv_usec - time1.tv_usec) / 1000000;
    printf("diff: %f[s]\n", diff_time);

    return 0;
}