首頁 > 後端開發 > C#.Net教程 > C#使用記秒錶檢查程式運行時間

C#使用記秒錶檢查程式運行時間

大家讲道理
發布: 2016-11-10 10:08:00
原創
1689 人瀏覽過

如果你擔憂某些程式碼非常耗費時間,可以用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);
  }
}
登入後複製
來源:php.cn
本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
作者最新文章
最新問題
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板