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

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

使用.net Stopwatch class 来分析你的代码

發布時間:2023/11/30 编程问答 27 豆豆
生活随笔 收集整理的這篇文章主要介紹了 使用.net Stopwatch class 来分析你的代码 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

 當我們在調試,優化我們的代碼的時候,想知道某段代碼的真正的執行時間,或者我們懷疑某段代碼,或是某幾段代碼執行比較慢,

需要得到具體的某段代碼的具體執行時間的時候。有一個很好用的類Stopwatch。

Stopwatch 類在 System.Diagnostics命名空間下。可以用來做分析.net代碼塊的基本工具。

例如:

System.Diagnostics.Stopwatch timerObj = new System.Diagnostics.Stopwatch();timerObj.Start();Decimal totalDec = 0; int limit = 1000000; for (int i = 0; i < limit; ++i) { totalDec = totalDec + (Decimal)Math.Sqrt(i); } timerObj.Stop(); Console.WriteLine(“Sum of square roots: {0}”,totalDec); Console.WriteLine(“Milliseconds elapsed : {0}”,timerObj.ElapsedMilliseconds); Console.WriteLine(“Time elapsed : {0}”, timerObj.Elapsed);

?

輸出結果:
Sum of square roots : 666666166.45882210823608
Milliseconds elapsed: 282
Time elapsed : 00:00:00.2828692

當你用Stopwatch 來調試你的時候,你可以使用 IDisposable 接口來自動關掉Stopwatch
1.定義一個自定義的Stopwatch類,繼承System.Diagnostics.Stopwatch 和 IDisposable

class AutoStopwatchDemo : System.Diagnostics.Stopwatch, IDisposable { public AutoStopwatchDemo() { Start(); } public void Dispose() { Stop(); Console.WriteLine(“Elapsed : {0}”, this.Elapsed); } }

?

2. 在你要調試的代碼塊里面使用

using (new AutoStopwatchDemo()) { Decimal totalObj2 = 0; int limitObj2 = 1000000; for (int i = 0; i < limit2; ++i) { totalObj2 = limitObj2 + (Decimal)Math.Sqrt(i); } }

?

此外,Stopwatch除了有Start()和Stop()方法,還有 Reset() 方法

轉載于:https://www.cnblogs.com/zhangkeyu/p/6663850.html

總結

以上是生活随笔為你收集整理的使用.net Stopwatch class 来分析你的代码的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。