我在系统执行了一个100个数的排序,我想知道这个排序用了多少时间。我就在调用排序函数前先获取了系统时间,储存在了
System.DateTime x中,然后在函数后面加了个System.DateTime y,最后输出y-x。结果由于排序太快无法获得精确的时间差。
我想知道怎么样才能知道这个排序用了多少时间,要精确到毫秒。

解决方案 »

  1.   

    Stopwatch watch = new Stopwatch();
    watch.Start();//被测的代码 watch.Stop();
    Response.Write(watch.ElapsedMilliseconds + "毫秒!");
      

  2.   

    开头引入using System.Diagnostics;
      

  3.   

    用watch.Elapsed,这个精确到百纳秒哦
      

  4.   

    Stopwatch.ElapsedTimeSpan   span   =   DateTime.Now   -   dateTime1; 
    span.TotalMilliseconds       //是double类型,有小数位的
      

  5.   

    调用Win32 API
    QueryPerformanceCounter() 和 QueryPerformanceFrequency
    这两个结合可以将时间精度精确到纳秒。第一个函数 QueryPerformanceCounter() 查询任意时刻高精度计数器的实际值。
    第二个函数 QueryPerformanceFrequency() 返回高精度计数器每秒的计数值。取时间间隔就是开始QueryPerformanceCounter的值-结束QueryPerformanceCounter的值
    然后除以QueryPerformanceFrequency的频率
    -----------------------
    另外你也可以试试.net自带的
    DateTime.Now.Ticks 精度是100毫微秒(纳秒)