前兩天要計算一個用C++實現的算法運行時間,就用了clock()
這個函數。程序大體上如下:
clock_t start,end;
start = clock();
/*my code*/
end = clock();
result = end-start;
因為clock()
返回的大約是毫秒級,而我事先預計運行時間也在毫秒級別,所以很作死的直接用end-start
來計算,而沒有用(double)(end-start)/CLOCKS_PER_SEC
以秒為單位來計算。
因為一時間沒辦法在Linux系統下寫,所以先在Windows系統下寫好了,然后再移植到Linux運行。結果發現輸出差了1000倍之多,心態直接崩了。心灰意冷,上網找別的計時方法,無意中發現了這篇文章Linux下clock計時函數學習,豁然開朗。在這里記錄一下,避免再踩坑。