您的位置:首页 > 编程学习 > C# > 正文

c#中使用stopwatch统计代码执行时间

更多 时间:2014-12-14 类别:编程学习 浏览量:617

c#中使用stopwatch统计代码执行时间

c#中使用stopwatch统计代码执行时间

一、c#中stopwatch的理解

1、Stopwatch 实例可以测量一个时间间隔的运行时间,也可以测量多个时间间隔的总运行时间。在典型的 Stopwatch 方案中,先调用 Start 方法,然后调用 Stop 方法,最后使用 Elapsed 属性检查运行时间。

2、Stopwatch 实例或者在运行,或者已停止;使用 IsRunning 可以确定 Stopwatch 的当前状态。使用 Start 可以开始测量运行时间;使用 Stop 可以停止测量运行时间。通过属性 Elapsed、ElapsedMilliseconds 或 ElapsedTicks 查询运行时间值。当实例正在运行或已停止时,可以查询运行时间属性。运行时间属性在 Stopwatch 运行期间稳固递增;在该实例停止时保持不变。

3、默认情况下,Stopwatch 实例的运行时间值相当于所有测量的时间间隔的总和。每次调用 Start 时开始累计运行时间计数;每次调用 Stop 时结束当前时间间隔测量,并冻结累计运行时间值。使用 Reset 方法可以清除现有 Stopwatch 实例中的累计运行时间。

4、Stopwatch 在基础计时器机制中对计时器的刻度进行计数,从而测量运行时间。如果安装的硬件和操作系统支持高分辨率性能的计数器,则 Stopwatch 类将使用该计数器来测量运行时间;否则,Stopwatch 类将使用系统计数器来测量运行时间。使用 Frequency 和 IsHighResolution 字段可以确定实现 Stopwatch 计时的精度和分辨率。

 

二、StopWatch 几个关键属性和方法

 

Elapsed :获取当前实例测量得出的总运行时间。在测试期间或者结束时均可获取。   

IsRunning : 获取一个指示 Stopwatch 计时器是否在运行的值。   

Start : 开始或继续测量某个时间间隔的运行时间。 多次调用 Start 前,需要使用 Reset 重置,否则会累加多次测量结果。   

Stop : 停止测量某个时间间隔的运行时间。   

Reset : 停止时间间隔测量,并将运行时间重置为零。

 

三、 c#中使用stopwatch统计代码执行时间实例

 

  •  
  • C# 代码   复制
  • 
    // 使用 StopWatch 进行测量
    
    Stopwatch sw = new Stopwatch();
    
    sw.Start();
    
    
    for (int i = 0; i < 1000; i++) { ++i; }
    
    
    sw.Stop();
    
    Console.WriteLine(sw.Elapsed);
    
    		
  •