最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

總結(jié)UNIX/LINUX下C++程序計(jì)時(shí)的方法

 更新時(shí)間:2016年08月14日 09:18:20   投稿:daisy  
本文總結(jié)了下UNIX/LINUX下C++程序計(jì)時(shí)的一些函數(shù)和方法,對(duì)日常使用C++程序的朋友很有幫助,有需要的小伙伴們可以參考學(xué)習(xí),下面一起來(lái)看看吧。

前言

良好的計(jì)時(shí)器可幫助程序開(kāi)發(fā)人員確定程序的性能瓶頸,或?qū)Σ煌惴ㄟM(jìn)行性能比較。但要精確測(cè)量程序的運(yùn)行時(shí)間并不容易,因?yàn)檫M(jìn)程切換、中斷、共享的多用戶、網(wǎng)絡(luò)流量、高速緩存訪問(wèn)及轉(zhuǎn)移預(yù)測(cè)等因素都會(huì)對(duì)程序計(jì)時(shí)產(chǎn)生影響。

下面看看小編為大家整理幾個(gè)計(jì)時(shí)方法

方法一:

如果是想統(tǒng)計(jì)某個(gè)程序的運(yùn)行時(shí)間,那么可以使用

time ./a.out

方法二:

如果是想對(duì)某個(gè)函數(shù)或者語(yǔ)句進(jìn)行計(jì)時(shí),那么有別的方法。比如說(shuō),gettimeofday函數(shù)。直接貼示例代碼:

#include <sys/time.h>
void f()
{
 //...
}
int main()
{
 struct timeval t1, t2;
 gettimeofday(&t1, NULL);
 f();
 gettimeofday(&t2, NULL);
 //那么函數(shù)f運(yùn)行所花的時(shí)間為
 //deltaT = (t2.tv_sec-t1.tv_sec) * 1000000 + t2.tv_usec-t1.tv_usec 微秒
 return 0;
}

gettimeofday只能精確到微秒,并且它受系統(tǒng)時(shí)鐘的影響(它的原理就是通過(guò)讀取系統(tǒng)時(shí)鐘,因此當(dāng)計(jì)時(shí)的這段時(shí)間里有其他程序修改了系統(tǒng)時(shí)鐘,那么結(jié)果將不準(zhǔn)確)。

如果想精確到納秒呢?繼續(xù)往下看:

方法三:

#include <time.h>
void f()
{
 //...
}
int main()
{
 timespec t1, t2;
 clock_gettime(CLOCK_MONOTONIC, &t1);
 f();
 clock_gettime(CLOCK_MONOTONIC, &t2);
 //那么f所花時(shí)間為
 //deltaT = (t2.tv_sec - t1.tv_sec) * 10^9 + t2.tv_nsec - t1.tv_nsec 納秒
 return 0;
}

這里說(shuō)的都是wall clock,如果想獲得cpu執(zhí)行時(shí)間,以及了解clock_gettime參數(shù)的解釋和可能的取值,可以man一下。

總結(jié)

以上就是在UNIX/LINUX下C++程序計(jì)時(shí)的方法的全部?jī)?nèi)容,希望本文的內(nèi)容對(duì)大家學(xué)習(xí)使用C++程序能有所幫助。如有疑問(wèn)歡迎大家留言討論。

相關(guān)文章

  • C語(yǔ)言庫(kù)函數(shù)strcpy的使用及模擬實(shí)現(xiàn)

    C語(yǔ)言庫(kù)函數(shù)strcpy的使用及模擬實(shí)現(xiàn)

    本文主要介紹了C語(yǔ)言庫(kù)函數(shù)strcpy的使用及模擬實(shí)現(xiàn),文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧
    2024-04-04
  • C++異常捕捉與處理的深入講解

    C++異常捕捉與處理的深入講解

    這篇文章主要給你大家介紹了關(guān)于C++異常捕捉與處理的相關(guān)資料,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧
    2020-10-10
  • 五個(gè)經(jīng)典鏈表OJ題帶你進(jìn)階C++鏈表篇

    五個(gè)經(jīng)典鏈表OJ題帶你進(jìn)階C++鏈表篇

    做題之前呢,小編想提醒下大家,要三思而后行,不要一上來(lái)就嘎嘎敲代碼,要先學(xué)會(huì)自己畫(huà)圖分析,把自己的思路捋清楚,不要到時(shí)候?qū)懘a五分鐘,調(diào)試兩小時(shí),記住,編程思路很重要
    2022-03-03
  • c語(yǔ)言中字符串分割函數(shù)及實(shí)現(xiàn)方法

    c語(yǔ)言中字符串分割函數(shù)及實(shí)現(xiàn)方法

    下面小編就為大家?guī)?lái)一篇c語(yǔ)言中字符串分割函數(shù)及實(shí)現(xiàn)方法。小編覺(jué)得挺不錯(cuò)的,現(xiàn)在就分享給大家,也給大家做個(gè)參考。一起跟隨小編過(guò)來(lái)看看吧
    2016-05-05
  • C語(yǔ)言關(guān)鍵字大全(共32個(gè))

    C語(yǔ)言關(guān)鍵字大全(共32個(gè))

    這篇文章主要分享下C語(yǔ)言的32個(gè)關(guān)鍵字,需要的朋友可以參考下
    2013-07-07
  • 使用C++實(shí)現(xiàn)順序鏈表

    使用C++實(shí)現(xiàn)順序鏈表

    今天小編就為大家分享一篇關(guān)于使用C++實(shí)現(xiàn)順序鏈表,小編覺(jué)得內(nèi)容挺不錯(cuò)的,現(xiàn)在分享給大家,具有很好的參考價(jià)值,需要的朋友一起跟隨小編來(lái)看看吧
    2018-12-12
  • C++文件相關(guān)函數(shù)CreateFile|ReadFile|WriteFile用法詳解

    C++文件相關(guān)函數(shù)CreateFile|ReadFile|WriteFile用法詳解

    這篇文章主要為大家詳細(xì)介紹了c++有關(guān)文件創(chuàng)建、讀取和寫入的api:CreateFile、ReadFile、WriteFile的具體使用,需要的可以參考下
    2023-04-04
  • C++表達(dá)式求值詳解

    C++表達(dá)式求值詳解

    下面小編就為大家?guī)?lái)一篇淺談C++ 語(yǔ)言中的表達(dá)式求值。小編覺(jué)得挺不錯(cuò)的,現(xiàn)在就分享給大家,也給大家做個(gè)參考。一起跟隨小編過(guò)來(lái)看看吧
    2021-10-10
  • VS+Qt+Halcon 顯示圖片,實(shí)現(xiàn)鼠標(biāo)縮放、移動(dòng)圖片

    VS+Qt+Halcon 顯示圖片,實(shí)現(xiàn)鼠標(biāo)縮放、移動(dòng)圖片

    本篇博文記錄一下,用VS+Qt+Halcon實(shí)現(xiàn)對(duì)圖片的讀取以及鼠標(biāo)縮放,移動(dòng)(鼠標(biāo)事件調(diào)用了halcon自帶的算子)的過(guò)程。感興趣的可以了解一下
    2021-08-08
  • 學(xué)習(xí) C++能帶給我們什么

    學(xué)習(xí) C++能帶給我們什么

    這篇文章主要介紹了學(xué)習(xí) C++能帶給我們什么的相關(guān)總結(jié),主要來(lái)自于前輩們,這里匯總給大家,需要的朋友可以參考下
    2016-03-03

最新評(píng)論

百色市| 襄樊市| 综艺| 稻城县| 承德县| SHOW| 兴城市| 沅陵县| 武义县| 精河县| 定西市| 喜德县| 桦川县| 克拉玛依市| 泉州市| 吴忠市| 永嘉县| 云阳县| 肇州县| 洪雅县| 车致| 广南县| 五台县| 沧州市| 临城县| 西宁市| 屯昌县| 衡水市| 旌德县| 都江堰市| 利津县| 山阴县| 皋兰县| 旬邑县| 江城| 子洲县| 鄂托克旗| 宁明县| 成安县| 平罗县| 呈贡县|