C#记录程序运行时间
主要:using System.Diagnostics;当中有Stopwatch类;
介绍如下:
// 摘要: // 提供一组方法和属性,可用于准确地测量运行时间。 public class Stopwatch { // 摘要: // 获取以每秒计时周期数表示的计时器频率。此字段为只读。 public static readonly long Frequency; // // 摘要: // 指示计时器是否基于高分辨率性能计数器。此字段为只读。 public static readonly bool IsHighResolution; // 摘要: // 初始化 System.Diagnostics.Stopwatch 类的新实例。 public Stopwatch(); // 摘要: // 获取当前实例测量得出的总运行时间。 // // 返回结果: // 一个只读的 System.TimeSpan,用于表示当前实例测量得出的总运行时间。 public TimeSpan Elapsed { get; } // // 摘要: // 获取当前实例测量得出的总运行时间(以毫秒为单位)。 // // 返回结果: // 一个只读长整型,表示当前实例测量得出的总毫秒数。 public long ElapsedMilliseconds { get; } // // 摘要: // 获取当前实例测量得出的总运行时间(用计时器计时周期表示)。 // // 返回结果: // 一个只读长整型,表示当前实例测量得出的计时器计时周期的总数。 public long ElapsedTicks { get; } // // 摘要: // 获取一个指示 System.Diagnostics.Stopwatch 计时器是否在运行的值。 // // 返回结果: // 如果 System.Diagnostics.Stopwatch 实例当前正在运行,并且在对某个时间间隔的运行时间进行测量,则该值为 true;否则为 // false。 public bool IsRunning { get; } // 摘要: // 获取计时器机制中的当前最小时间单位数。 // // 返回结果: // 一个长整型,表示基础计时器机制中的计时周期计数器值。 public static long GetTimestamp(); // // 摘要: // 停止时间间隔测量,并将运行时间重置为零。 public void Reset(); // // 摘要: // 停止时间间隔测量,将运行时间重置为零,然后开始测量运行时间。 public void Restart(); // // 摘要: // 开始或继续测量某个时间间隔的运行时间。 public void Start(); // // 摘要: // 对新的 System.Diagnostics.Stopwatch 实例进行初始化,将运行时间属性设置为零,然后开始测量运行时间。 // // 返回结果: // 刚刚开始测量运行时间的 System.Diagnostics.Stopwatch。 public static Stopwatch StartNew(); // // 摘要: // 停止测量某个时间间隔的运行时间。 public void Stop(); }
用Stopwatch计时的例子
private static void ValueTypePerTest() { Console.WriteLine("------------Get Time---------------"); Int64 startTime = Stopwatch.GetTimestamp()//获取计时器机制中当前时间的最小单位数 可以理解为时钟周期
for(int i=0;i<1000;i++) { } Console.WriteLine((Stopwatch.GetTimestamp()-startTime)/(double)Stopwatch.Frequency);//获取以每秒计时周期数表示的计时器频率。此字段为只读
}
详细查看:http://msdn.microsoft.com/zh-cn/library/vstudio/system.diagnostics.stopwatch.aspx