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

總結UNIX/LINUX下C++程序計時的方法

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

前言

良好的計時器可幫助程序開發(fā)人員確定程序的性能瓶頸,或對不同算法進行性能比較。但要精確測量程序的運行時間并不容易,因為進程切換、中斷、共享的多用戶、網(wǎng)絡流量、高速緩存訪問及轉移預測等因素都會對程序計時產(chǎn)生影響。

下面看看小編為大家整理幾個計時方法

方法一:

如果是想統(tǒng)計某個程序的運行時間,那么可以使用

time ./a.out

方法二:

如果是想對某個函數(shù)或者語句進行計時,那么有別的方法。比如說,gettimeofday函數(shù)。直接貼示例代碼:

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

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

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

方法三:

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

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

總結

以上就是在UNIX/LINUX下C++程序計時的方法的全部內容,希望本文的內容對大家學習使用C++程序能有所幫助。如有疑問歡迎大家留言討論。

相關文章

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

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

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

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

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

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

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

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

    下面小編就為大家?guī)硪黄猚語言中字符串分割函數(shù)及實現(xiàn)方法。小編覺得挺不錯的,現(xiàn)在就分享給大家,也給大家做個參考。一起跟隨小編過來看看吧
    2016-05-05
  • C語言關鍵字大全(共32個)

    C語言關鍵字大全(共32個)

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

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

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

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

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

    C++表達式求值詳解

    下面小編就為大家?guī)硪黄獪\談C++ 語言中的表達式求值。小編覺得挺不錯的,現(xiàn)在就分享給大家,也給大家做個參考。一起跟隨小編過來看看吧
    2021-10-10
  • VS+Qt+Halcon 顯示圖片,實現(xiàn)鼠標縮放、移動圖片

    VS+Qt+Halcon 顯示圖片,實現(xiàn)鼠標縮放、移動圖片

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

    學習 C++能帶給我們什么

    這篇文章主要介紹了學習 C++能帶給我們什么的相關總結,主要來自于前輩們,這里匯總給大家,需要的朋友可以參考下
    2016-03-03

最新評論

兴隆县| 长春市| 德格县| 江华| 行唐县| 盐源县| 泗洪县| 上林县| 黄大仙区| 遵义市| 东光县| 泸州市| 蓬莱市| 青铜峡市| 花垣县| 砀山县| 紫阳县| 海口市| 红安县| 阳信县| 安康市| 永宁县| 公主岭市| 新乡市| 神池县| 新邵县| 松阳县| 米脂县| 邢台县| 凤台县| 临洮县| 辽源市| 邯郸县| 克什克腾旗| 钟祥市| 突泉县| 平罗县| 简阳市| 福鼎市| 松江区| 南投市|