C Stopwatch實現精確計時

2021-10-05 12:51:00 字數 1392 閱讀 2619

c#中的stopwatch類位於diagnostics空間下,其功能主要是實現對程式執行的精確計時,它的用法比較簡單,精確度也很高。

比如當我們寫爬蟲程式時可以用來計算爬蟲爬取的時間;可以用來比較一些語法的優劣,比如資料庫的查詢,第二次會比第一次慢很多,這是由於查詢快取的問題;或者是遞迴和for迴圈哪個快;或者鎖和沒鎖哪個快,資料結構中查詢演算法、排序演算法的時間比較等等。計算出程式執行的精確時間對於提高我們程式設計能力是很有幫助的。

start():

開始計時。

stop();

停止計時。

startnew():

對新的 system.diagnostics.stopwatch 例項進行初始化,將執行時間屬性設定為零,然後開始測量執行時間。 它的返回結果是剛剛開始測量執行時間的

restart():

停止時間間隔測量,將執行時間重置為零,然後開始測量執行時間。

elapsedmilliseconds :

獲取當前例項測量得出的總執行時間(以毫秒為單位)。

(以上就是一些常用的計時方法和屬性)

下面就簡單展示乙個demo

精確延時的實現

大家平時寫練習程式,包括 上的範例程式,很多延時都直接用的 sleep 實現。這個延時有個缺點,那就是無法統計 執行的時間。請看下圖 由圖可以看到,使用 api 函式 sleep 的問題,就是會忽略掉程式的執行時間。很多時候,程式的執行時間是不固定的,所以這就導致使用 sleep 的延時並不精確,即...

mysql connter mysql實現計數器

本文 如果是在非常高的併發之下,還是建議用記憶體資料庫redis去實現計數的功能。如果不是那麼高的併發,用表實現就可以。drop table access counter create table access counter cnt int unsigned not null insert int...

實現精確加減乘除

加 減 乘 除 加法函式 function accadd arg1,arg2 catch e try catch e m math.pow 10,math.max r1,r2 return arg1 m arg2 m m 給number型別增加乙個add方法,使用時直接用 add 即可完成計算。nu...