- 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 (new AutoStopwatch())
- {
- Decimal total2 = 0;
- int limit2 = 1000000;
- for (int i = 0; i < limit2; ++i)
- {
- total2 = total2 + (Decimal)Math.Sqrt(i);
- }
- }
来源: http://www.phpxs.com/code/1004410/