日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 运维知识 > linux >内容正文

linux

嗯?time命令Linux time // 对比印象中的time()函数

發布時間:2025/3/19 linux 37 豆豆
生活随笔 收集整理的這篇文章主要介紹了 嗯?time命令Linux time // 对比印象中的time()函数 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

1.time(); 函數

函數原型: time_t time(time_t *timer)

函數用途: 得到機器的日歷時間或者設置日歷時間

頭 文 件: time.h

輸入參數: timer=NULL時,得到機器日歷時間, =時間數值時 用于設置日歷時間;

/* ?time - 獲取計算機系統當前的日歷時間(Calender Time)
?* ? ? ? ? 處理日期時間的函數都是以本函數的返回值為基礎進行運算
?*
?* ?函數原型:
?* ? ? ?#include <time.h>
?* ?
?* ? ? ?time_t time(time_t *calptr);
?*
?* ?返回值:
?* ? ? ?成功:秒數,從1970-1-1,00:00:00
?*
?* ?使用:
?* ? ? ?time_t now;
?* ?
?* ? ? ?time(&now); // == now = time(NULL);
?*/

time_t是一個long類型

time_t實際上是長整型,到未來的某一天,從一個時間點(一般是1970年1月1日0時0分0秒)到那時的秒數(即日歷時間)超出了長整形所能表示的數的范圍怎么辦?對time_t數據類型的值來說,它所表示的時間不能晚于2038年1月18日19時14分07秒。為了能夠表示更久遠的時間,一些編譯器廠商引入了64位甚至更長的整形數來保存日歷時間。比如微軟在Visual C++中采用了__time64_t數據類型來保存日歷時間,并通過_time64()函數來獲得日歷時間(而不是通過使用32位字的time()函數),這樣就可以通過該數據類型保存3001年1月1日0時0分0秒(不包括該時間點)之前的時間。


2.time命令

當測試一個程序或比較不同算法時,執行時間是非常重要的,一個好的算法應該是用時最短的。所有類UNIX系統都包含time命令,使用這個命令可以統計時間消耗。例如:

[root@localhost ~]# time ls anaconda-ks.cfg install.log install.log.syslog satools textreal 0m0.009s user 0m0.002s sys 0m0.007s

輸出的信息分別顯示了該命令所花費的real時間、user時間和sys時間。

  • real時間是指掛鐘時間,也就是命令開始執行到結束的時間。這個短時間包括其他進程所占用的時間片,和進程被阻塞時所花費的時間。
  • user時間是指進程花費在用戶模式中的CPU時間,這是唯一真正用于執行進程所花費的時間,其他進程和花費阻塞狀態中的時間沒有計算在內。
  • sys時間是指花費在內核模式中的CPU時間,代表在內核中執系統調用所花費的時間,這也是真正由進程使用的CPU時間。

shell內建也有一個time命令,當運行time時候是調用的系統內建命令,應為系統內建的功能有限,所以需要時間其他功能需要使用time命令可執行二進制文件/usr/bin/time。

使用-o選項將執行時間寫入到文件中:

/usr/bin/time -o outfile.txt ls

使用-a選項追加信息:

/usr/bin/time -a -o outfile.txt ls

使用-f選項格式化時間輸出:

/usr/bin/time -f "time: %U" ls

-f選項后的參數:

參數描述
%Ereal時間,顯示格式為[小時:]分鐘:秒
%Uuser時間。
%Ssys時間。
%C進行計時的命令名稱和命令行參數。
%D進程非共享數據區域,以KB為單位。
%x命令退出狀態。
%k進程接收到的信號數量。
%w進程被交換出主存的次數。
%Z系統的頁面大小,這是一個系統常量,不用系統中常量值也不同。
%P進程所獲取的CPU時間百分百,這個值等于user+system時間除以總共的運行時間。
%K進程的平均總內存使用量(data+stack+text),單位是KB。
%w進程主動進行上下文切換的次數,例如等待I/O操作完成。
%c進程被迫進行上下文切換的次數(由于時間片到期)。
與50位技術專家面對面20年技術見證,附贈技術全景圖

總結

以上是生活随笔為你收集整理的嗯?time命令Linux time // 对比印象中的time()函数的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。