1、前言
測試一個程式的執行時間,時間包括使用者cpu時間、系統cpu時間、時鐘時間。之前擷取之前時間都是在程式的main函數用time函數實作,這個隻能粗略的計算程式的執行時間,不能準确的擷取其他時間。在看《apue》時,書中有關程式時間測試程式,非常正規,提供這三個時間。如是,上網搜了一下,進行總結一下。
2、擷取方法
有兩種方法可以擷取,第一種是用time指令,time 程序。第二種是通過在程式中進行記錄,首先利用sysconf函數擷取時鐘滴答數,再用times擷取tms結構。
檢視times函數,man 2 tms,得到tms結構定義和times函數聲明如下:
注意:此處計算的時間是時鐘滴答數,需要除以系統時鐘滴答數,得出實際的秒數。
3、測試例子:
測試程式如下:
測試結果如下所示:
采用time指令,測試結果如下所示: