C# 测试代码运行时间
(1)用Datatime和TmeSpan
(2)用Stopwatch,简单,明了,精确。
(3)使用QueryPerformanceFrequency函数和QueryPerformanceCounter函数,这个比较麻烦,还用到了Interop。
using System; class Class1 { [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); [STAThread] static void Main(string[] args) { long count = 0; long count1 = 0; long freq = 0; double result = 0; QueryPerformanceFrequency(ref freq); QueryPerformanceCounter(ref count); //开始的时候没有这层循环,所得数据浮动很大,添加这层循环来使得结果更加平均 for (int i = 0; i < 500; i++) { //需要测试的模块 } QueryPerformanceCounter(ref count1); count = count1 - count; result = (double) (count) / (double) freq; Console.WriteLine("耗时: {0} 秒", result); Console.ReadLine(); } } |