パソコン日記

気づいたこと まとめてみる

C言語でプログラムの実行時間を測る

プログラムの実行時間を測りたい

C言語でソートのプログラムを作ってテストしたいなと思いました。 せっかく作るなら実行時間を測って、ソートのアルゴリズムの性能を評価してみたいと思います。 そこで、今回の記事ではC言語での、実行時間の測り方をまとめてみたいと思います。

clock()を使う

C言語ではプログラム実行時からの時間を取得することができるclock()があります。 実行時間を測定したいところの前でclock()を実行し、それが終了するところで再びclock()で時間を取得し それらを引けば実行時間を得ることができます。また、clock()を使うには、 time.hのヘッダファイルをインクルードする必要があります。 次にサンプルを書いてみました。

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

int main(void) {
    clock_t start, end;
    start = clock();

    int i;
    for(i = 0; i < 1000000; i++){
    }

    end = clock();
    printf("%f sec\n", (double)(end-start)/CLOCKS_PER_SEC);

}

テストなので、何もしないforループを回して時間をかけました。また、秒で表示するためにはCLOCKS_PER_SECで割る必要があります。 さらにdouble型でキャストしました。

これでアルゴリズムの処理時間が測定できそうです。