日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當(dāng)前位置: 首頁 > 编程语言 > C# >内容正文

C#

C#测量程序运行时间及cpu使用时间(转)

發(fā)布時間:2025/3/8 C# 38 豆豆
生活随笔 收集整理的這篇文章主要介紹了 C#测量程序运行时间及cpu使用时间(转) 小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.

?? 對一個服務(wù)器程序想統(tǒng)計每秒可以處理多少數(shù)據(jù)包,要如何做?答案是用處理數(shù)據(jù)包的總數(shù),除以累記處理數(shù)據(jù)包用的時間。這里要指出的是, 運行一段程序,使用的cpu時間,跟實際運行的時間是不一樣的。附例如下:
????

  • private?void?ShowRunTime()
  • {
  • ?????????????TimeSpan?ts1?=?Process.GetCurrentProcess().TotalProcessorTime;
  • ?????????????Stopwatch?stw?=?new?Stopwatch();
  • ?????????????stw.Start();
  • ?????????????int?Circles?=?1000;
  • ?????????????for?(int?i?=?0;?i?<?Circles;?++i)
  • ?????????????{
  • ?????????????????Console.WriteLine(i.ToString());
  • ?????????????}
  • ?????????????double?Msecs?=?Process.GetCurrentProcess().TotalProcessorTime.Subtract(ts1).TotalMilliseconds;
  • ?????????????stw.Stop();
  • ?????????????Console.WriteLine(string.Format("循環(huán)次數(shù):{0}?CPU時間(毫秒)={1}?實際時間(毫秒)={2}",?Circles,?Msecs,?stw.Elapsed.TotalMilliseconds,?stw.ElapsedTicks));
  • ?????????????Console.WriteLine(string.Format("1?tick?=?{0}毫秒",?stw.Elapsed.TotalMilliseconds?/?stw.Elapsed.Ticks));
  • }?

  • ???? 程序輸出如下:

    ???? 循環(huán)次數(shù):1000 CPU時間(毫秒)=50.072 實際時間(毫秒)=666.9071
    ???? 1 tick = 0.0001毫秒

    ???? 可以看出在這個例子中,兩者差距比較大,其原因如下:

    ???? 1)Windows是多任務(wù)操作系統(tǒng),按照線程為單位對cpu時間輪詢分配。即一個程序運行的中途,可能被剝奪cpu資源,供其他程序運行。

    ???? 2)程序本身會有不占用cpu時間的等待過程。這個等待可能是我們程序主動的,比如啟動一個進(jìn)程,然后等待進(jìn)程的結(jié)束;也可能是我們沒有意識到的,如例子 的Console.WriteLine方法,猜想其內(nèi)部進(jìn)行了一系列的異步I/O操作然后等待操作的完成,這其間并沒有占用調(diào)用進(jìn)程的cpu時間,但耗費 了很多等待時間。

    ???? 總結(jié):

    ???? 1)性能的測量,應(yīng)該用程序運行時間來測量,當(dāng)然也需要使用cpu時間作為參考,如果兩者差距很大,需要考慮為何出現(xiàn)這種情況。

    ???? 2).Net的Stopwatch類可以精確到1/10000毫秒,基本可以滿足測量精度。

    轉(zhuǎn)載于:https://www.cnblogs.com/yanpeng/archive/2008/10/15/1943369.html

    總結(jié)

    以上是生活随笔為你收集整理的C#测量程序运行时间及cpu使用时间(转)的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

    如果覺得生活随笔網(wǎng)站內(nèi)容還不錯,歡迎將生活随笔推薦給好友。