1. 程式人生 > >C/C++執行時間測試函式

C/C++執行時間測試函式

C/C++中有很多記時函式,一般的處理都是先呼叫函式記錄下當前的時間start,然後 處理一段時間,再呼叫函式記錄下結束的時間end,兩者之間的差值就是程式所執行的時間,由於不同函式取值的精度不一樣,適用的範圍也不一樣。

void Test()
{
    int i=1000000000;
    while (i--);
}

方法一:利用time()獲取系統的時間,單位為秒

void Time1()
{
    time_t start,stop;
    start = time(NULL); /*包含在標頭檔案time.h中*/
    Test();
    stop = time(NULL);
    printf("Use time:%ld\n",stop-start);
}

方法二:利用clock()獲取掛鐘時間

void Time2()
{
    clock_t start,stop;
    start=clock();  /*包含在標頭檔案time.h中*/
    Test();
    stop=clock();
    /*CLOCKS_PER_SEC是一個常數,不同的編譯器和系統不同*/
    cout<<CLOCKS_PER_SEC<<endl;
    printf("Use time:%lf\n",(double)(stop-start)/CLOCKS_PER_SEC);
}