在統計某段程序或某個算法的運行時間時,經常會用到clock()函數
clock()是C/C++中的計時函數,與其相關的數據類型是clock_t,頭文件是time.h/ctime。
clock()函數的功能是:返回從“開啟這個程序進程”到“程序中調用clock()函數”時之間的CPU時鍾計時單元數(clock tick)。
在C/C++中,定義了一個常量CLOCKS_PER_SEC,它用來表示一秒鍾會有多少個時鍾計時單元。
clock_t是長整型 long,返回的是整形,通常要以轉換成浮點數類型。
使用clock()統計程序運行時間時,需要注意的地方
1.clock()函數測量的是處理器的CPU時間,而不是實際的時間,當使用sleep()函數時,是不會統計sleep的時間的,即clock算出的時間比實際的時間少一些
2.clock()函數測量的是處理器的CPU時間,而不是實際的時間,當開啟多線程的時候,就會發現使用clock算出的時間比實際的時間多了一些
#include<bits/stdc++.h> using namespace std; int main(){ clock_t start,finish; start = clock(); for(int i=0;i<1000;i++){ cout<<i<<endl; } finish = clock(); double duration = (double)(finish-start)/CLOCKS_PER_SEC; printf("%2.1f seconds\n",duration); return 0; }