clock函式 使用以及問題

2021-09-27 05:35:04 字數 798 閱讀 9349

使用

clock()函式是乙個計算程式執行時間(其實簡略的理解為占用cpu的使用時間)其實如果使用sleep函式,程式是放棄cpu的使用權,直到某個時間的到來,當然就不會存在占用cpu時間的時候,即使是乙個計數的迴圈,對於cpu來說,也是微不足道的。計數單位:clocks_per_sec, clock函式返回的值和clocks_per_sec存在密不可分的關係,clock()/clocks_per_sec返回的才是秒。在linux下clocks_per_sec是1000000, 在windows下是1000

問題clock_t是乙個32位符號整型,按照理論計算,程式執行24天後,返回值將會由於溢位,變為-1.所以clock函式適合進行簡單的運算時間的計數,不適合作為程式中執行時間的計數,目前應用

std::chrono::time_point_cast(std::chrono::system_clock::now()).time_since_epoch().count();

進行時間的計數,獲取當前系統日期時間的納秒級計數

當前提供如下方案,不知道是否也會出現類似的情況

1)gettickcount();

2)large_integer t1, t2, tc;

queryperformancefrequency(&tc);

queryperformancecounter(&t1);

//do something

queryperformancecounter(&t2);

int fcount =( t2.quadpart - t1.quadpart)*1000 / tc.quadpart;

git使用以及問題總結

1 首先你要安裝git工具 1.git安裝 1.先檢視一下未設定前的config cat git config 2.git config user.name xianbai 配置使用者名稱 3.git config user.email xianbai example.com 配置郵箱 ssh ke...

結構體使用以及函式優化

通過學習高博一起做rgbdslam系列,體會到乙個工程專案由簡單到複雜的過程,列出自己認為重要的地方 1.將一些相關的變數封裝到結構體中,歸類之後一是方便觀察,二是處理起來很有條理 2.將寫好,不經常改動的函式寫到新的檔案中,通過鏈結庫以及包含標頭檔案來實現呼叫函式 3.專案要引用到的引數,可以專門...

NSSortDescriptor使用以及陣列排序

nssortdescriptor 指定用於物件陣列排序的物件的屬性。物件可能是字典,這種情況就是對字典陣列排序 如果是employee物件需要按照name來排序,就生成下面的descriptor nssortdescriptor descriptor nssortdescriptor sortdes...