C# 程序运行耗时测试类
2012-06-26 12:47 Andrew.Wangxu 阅读(565) 评论(0) 编辑 收藏 举报主要用于精确测试一段代码的运行耗时时间。这里以秒为单位(包括小数点)。。
代码:
using System; using System.Collections.Generic; using System.Linq; using System.Text; namespace StackallocArrayDemo { public class TimerTest { [System.Runtime.InteropServices.DllImport("Kernel32.dll")] static extern bool QueryPerformanceCounter(ref long count); [System.Runtime.InteropServices.DllImport("Kernel32.dll")] static extern bool QueryPerformanceFrequency(ref long count); long count = 0; long count1 = 0; long freq = 0; double result = 0; /// <summary> /// 开始计时 /// </summary> public void Start() { QueryPerformanceFrequency(ref freq); QueryPerformanceCounter(ref count); } /// <summary> /// 结束计时并返回耗时(秒,如 : 0.0001 秒) /// </summary> /// <returns></returns> public double End() { QueryPerformanceCounter(ref count1); count = count1 - count; result = (double)(count) / (double)freq; return result; } } }
用法:
TimerTest test1 = new TimerTest(); test1.Start(); //这里是需要测试耗时的代码段 double result = test1.End();