linux 獲取程序執行時間

2022-03-13 03:43:50 字數 1132 閱讀 3324

獲取程序執行時間

一、時間概念

在linux下進行程式設計時,可能會涉及度量程序的執行時間。linux下程序的時間值分三種:

時鐘時間(real time):指程序從開始執行到結束,實際執行的時間。

使用者cpu時間(user cpu time):指程序中執行使用者指令所用的時間,也包括子程序。

系統cpu時間(system cpu time):指為程序執行核心程式所經歷的時間,例如呼叫read和write核心方法時,消耗的時間就計入系統cpu時間。

二、獲取方法

有兩種方法可以獲取,第一種是用time命令,time 程序。第二種是通過在程式中進行記錄,首先利用sysconf函式獲取時鐘滴答數,再用times獲取tms結構。

檢視times函式,man 2 tms,得到tms結構定義和times函式宣告如下:

struct

tms ;

#include clock_t times(

struct tms *buf);

注意:此處計算的時間是時鐘滴答數,需要除以系統時鐘滴答數,得出實際的秒數。

三、測試例子

測試程式如下:

#include #include 

#include

#include

#define buffer_size 4 * 1024

intmain()

測試結果如下所示:

採用time命令,測試結果如下所示:

其中real表示時鐘時間,user表示使用者cpu時間,sys表示系統cpu時間。time命令也可以用於系統的命令,如time ls、time ps等等。

參考:

linux獲取程序執行時間方法示例

linux獲取程序執行時間有兩種方法可以獲取,第一種是用time命令,time 程序。第二種是通過在程式中進行記錄,首先利用sysconf函式獲取時鐘滴答數,再用times獲取tms結構,詳細看下面的示例 1 前言 測試乙個程式的執行時間,時間包括使用者cpu時間 系統cpu時間 時鐘時間。之前獲取...

獲取程式執行時間

獲取程式執行時間,對程式效能進行度量。include double start clock 段 system 程式名.exe 僅對於dos double end clock double time double end begin clocks per sec 1000 ms include dwo...

獲取sql執行時間

sql server中獲取要執行的sql或sql塊的執行時間,方法之一如下 declare begin datetime,end datetime set begin getdate your sql set end getdate print datediff millisecond,begin,...