C#使用記秒表檢查程序運行時間
如果你擔憂某些代碼非常耗費時間,可以用StopWatch來檢查這段代碼消耗的時間,如下面的代碼所示
System.Diagnostics.Stopwatch timer = new System.Diagnostics.Stopwatch(); timer.Start(); Decimal total = 0; int limit = 1000000; for (int i = 0; i < limit; ++i) { total = total + (Decimal)Math.Sqrt(i); } timer.Stop(); Console.WriteLine(“Sum of sqrts: {0}”,total); Console.WriteLine(“Elapsed milliseconds: {0}”, timer.ElapsedMilliseconds); Console.WriteLine(“Elapsed time: {0}”, timer.Elapsed);
現在已經有專門的工具來檢測程序的運行時間,可以細化到每個方法,比如dotNetPerformance軟件。
以上面的代碼為例子,您需要直接修改源代碼,如果是用來測試程序,則有些不方便。請參考下面的例子。
class AutoStopwatch : System.Diagnostics.Stopwatch, IDisposable { public AutoStopwatch() { Start(); } public void Dispose() { Stop(); Console.WriteLine(“Elapsed: {0}”, this.Elapsed); } }
借助于using語法,像下面的代碼所示,可以檢查一段代碼的運行時間,并打印在控制臺上。
using (new AutoStopwatch()) { Decimal total2 = 0; int limit2 = 1000000; for (int i = 0; i < limit2; ++i) { total2 = total2 + (Decimal)Math.Sqrt(i); } }
本文由用戶 wb26 自行上傳分享,僅供網友學習交流。所有權歸原作者,若您的權利被侵害,請聯系管理員。
轉載本站原創文章,請注明出處,并保留原始鏈接、圖片水印。
本站是一個以用戶分享為主的開源技術平臺,歡迎各類分享!