程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> C語言 >> C >> 關於C >> 獲取程序執行的“掛鐘時間”,“用戶時間”,“系統時間”

獲取程序執行的“掛鐘時間”,“用戶時間”,“系統時間”

編輯:關於C

簡單的程序可以通過命令實現

[plain]
# time ./test 
 
real    0m2.033s 
user    0m2.032s 
sys 0m0.000s 

# time ./test

real 0m2.033s
user 0m2.032s
sys 0m0.000s

不方便用time命令的可以使用系統函數實現

[cpp]
#include <sys/times.h>  
 
//用戶獲取用戶時間,系統時間  
static struct tms tms_start; 
static struct tms tms_end; 
 
//用於獲取掛鐘時間  
static clock_t c_start; 
static clock_t c_end; 
 
void debug_times_start() 

    memset(&tms_start, 0, sizeof(struct tms)); 
    memset(&tms_end, 0, sizeof(struct tms)); 
 
    c_start = times(&tms_start); 

 
void debug_times_end() 

    c_end = times(&tms_end); 
 
    printf("clock time:%ld, user/system cpu time:%ld/%ld\r\n", 
            c_end - c_start, 
            tms_end.tms_utime - tms_start.tms_utime, 
            tms_end.tms_stime - tms_start.tms_stime); 

#include <sys/times.h>

//用戶獲取用戶時間,系統時間
static struct tms tms_start;
static struct tms tms_end;

//用於獲取掛鐘時間
static clock_t c_start;
static clock_t c_end;

void debug_times_start()
{
 memset(&tms_start, 0, sizeof(struct tms));
 memset(&tms_end, 0, sizeof(struct tms));

 c_start = times(&tms_start);
}

void debug_times_end()
{
 c_end = times(&tms_end);

 printf("clock time:%ld, user/system cpu time:%ld/%ld\r\n",
   c_end - c_start,
   tms_end.tms_utime - tms_start.tms_utime,
   tms_end.tms_stime - tms_start.tms_stime);
}


 

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved