我一直以來對clock 函式誤解

2021-06-21 07:37:13 字數 392 閱讀 4531

在最近的一次**除錯中,我才發現我對clock()一直都是錯誤的認知。

我一直都以為clock()返回的值就是程式從開始到執行此函式時所執行的時間,其實不是「執行時間」,而是程式所占用處理器的「執行時間」。也就是說,當處於核心態或排程到其他程式時,這個時間就會暫停。比如說呼叫了sleep(),usleep()等會引發排程函式或者核心搶占了cpu都會暫停。

如果需要知道程式的執行時間,那就可以借助times()或gettimeofday();

times()和clock()返回值型別都是clock_t,但是他們的單位是不同的。

我測試的平台發現times()的精度是10ms,clock()的精度是us;

gettimeofday()返回的是乙個絕對時間,是乙個可以轉換成日期的時間,精度是us。

一直以來,我總是想得太多,做得太少

曾經無數次構想自己的路,但是走到今天,卻突然發現,自己選擇的路太規矩。太久沒寫東西,邏輯已經混亂了 從大一入學到現在,已經過去了一年半,這一年半,我學到了什麼?我長進了什麼?我在腦海裡狂搜一遍,發現什麼都沒學到。如今的我跟剛入學的我相比沒有本質的變化。我覺得這些都要歸咎於我沒有乙個規劃,或者說沒有乙...

遊戲行業一直以來都是DDOS重災區

8大核心功能,全方位防禦遊戲免受黑客攻擊 一 tb級防禦系統 t盾專為分布式雲節點防禦集群而設計,可跨地區 跨機房動態擴充套件防禦能力和負載容量,輕鬆達到tb級防禦,結合流量排程中心,能抵禦市面上絕大多數ddos攻擊。二 節點實時排程 當業務遭遇大規模ddos和cc攻擊,導致單個或多個高防雲節點延遲...

一直以來伴隨我的一些學習習慣 四 知識結構

自從建立了 toplanguage 以來,發現在上面待的時間越來越多,與高手討論問題是個粘性十足的事情,一方面,分享自己的認識是整理不成熟的想法的極好途徑,另一方面,互相之間視角不同,所以往往自己忽視的地方會被別人發現。在討論中不斷精化既有的知識體系。以下這段基本上摘抄自 略有整理和新增 在 top...