亚洲激情专区-91九色丨porny丨老师-久久久久久久女国产乱让韩-国产精品午夜小视频观看

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

C#中怎么測量cpu性能

發布時間:2021-07-08 14:00:26 來源:億速云 閱讀:300 作者:Leah 欄目:編程語言

今天就跟大家聊聊有關C#中怎么測量cpu性能,可能很多人都不太了解,為了讓大家更加了解,小編給大家總結了以下內容,希望大家根據這篇文章可以有所收獲。

C#測量cpu性能代碼如下:

  1. privatevoidShowRunTime()  

  2. {  

  3. TimeSpants1=Process.GetCurrentProcess().TotalProcessorTime;  

  4. Stopwatchstw=newStopwatch();  

  5. stw.Start();  

  6.  

  7. intCircles=1000;  

  8. for(inti=0;i<Circles;++i)  

  9. {  

  10. Console.WriteLine(i.ToString());  

  11. }  

  12.  

  13. doubleMsecs=Process.GetCurrentProcess().
    TotalProcessorTime.Subtract(ts1).TotalMilliseconds;  

  14. stw.Stop();  

  15.  

  16. Console.WriteLine(string.Format("循環次數:{0}CPU時間(毫秒)={1}實際時間(毫秒)={2}",
    Circles,Msecs,stw.Elapsed.TotalMilliseconds,stw.ElapsedTicks));  

  17. Console.WriteLine(string.Format("1tick={0}毫秒",
    stw.Elapsed.TotalMilliseconds/stw.Elapsed.Ticks));  

程序輸出如下:

循環次數:1000 CPU時間(毫秒)=50.072 實際時間(毫秒)=666.9071 tick = 0.0001毫秒

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

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

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

總結:

1 C#測量cpu性能,應該用程序運行時間來測量,當然也需要使用cpu時間作為參考,如果兩者差距很大,需要考慮為何出現這種情況。

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

看完上述內容,你們對C#中怎么測量cpu性能有進一步的了解嗎?如果還想了解更多知識或者相關內容,請關注億速云行業資訊頻道,感謝大家的支持。

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

大悟县| 衡东县| 贺州市| 武汉市| 大田县| 瑞金市| 清水河县| 呼伦贝尔市| 永嘉县| 霍林郭勒市| 桑日县| 宁国市| 台江县| 聂拉木县| 晋江市| 湘潭县| 紫阳县| 尉犁县| 靖宇县| 进贤县| 临澧县| 桓台县| 无棣县| 青岛市| 宿州市| 宿松县| 陈巴尔虎旗| 林西县| 彭阳县| 望谟县| 商河县| 乌拉特前旗| 通道| 信阳市| 嫩江县| 靖远县| 平武县| 灌南县| 黄平县| 仪征市| 泸溪县|