C# 计时函数(毫秒)

using System;
using System.Diagnostics;
using System.Runtime.InteropServices;
using System.Threading;

class Program
{
    //调用API函数
    [DllImport("kernel32.dll")]
    extern static short QueryPerformanceCounter(ref long x);
    [DllImport("kernel32.dll")]
    extern static short QueryPerformanceFrequency(ref long x);

    static void Main(string[] args)
    {
        // 方法一
        Stopwatch stopWatch = new Stopwatch();
        stopWatch.Start();
        Thread.Sleep(1000);
        stopWatch.Stop();
        long times1 = stopWatch.ElapsedMilliseconds; 
        Console.WriteLine("RunTime " + times1);


        // 方法二
        long stop_Value = 0;
        long start_Value = 0;
        long freq = 0;
        QueryPerformanceFrequency(ref freq);  //获取CPU频率

        QueryPerformanceCounter(ref start_Value); //获取初始前值
        Thread.Sleep(1000);
        QueryPerformanceCounter(ref stop_Value);//获取终止变量值
        var times2 = (stop_Value - start_Value) / (double)freq * 1000;
        Console.WriteLine("RunTime " + times2);
    }
}

猜你喜欢

转载自www.cnblogs.com/LicwStack/p/8968361.html