| 注册
请输入搜索内容

热门搜索

Java Linux MySQL PHP JavaScript Hibernate jQuery Nginx
wb26
10年前发布

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);    }  }