zoukankan      html  css  js  c++  java
  • C#计算一段程序运行时间的三种方法

    亲测有效~
     
    直接代码:
    第一种方法利用System.DateTime.Now
     
     1         public static void SubTest()
     2         {
     3             DateTime beforeDT = System.DateTime.Now;
     4             int[] a = new int[] { 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20 };
     5             //Shuffle(a) is the function you want to test.
     6             Shuffle(a);
     7             DateTime afterDT = System.DateTime.Now;
     8             TimeSpan ts = afterDT.Subtract(beforeDT);
     9             Console.WriteLine("DateTime costed for Shuffle function is: {0}ms",ts.TotalMilliseconds);
    10         }
    View Code

    第二种用Stopwatch类(System.Diagnostics)

     1         public static void SubTest()
     2         {
     3             Stopwatch sw = new Stopwatch();
     4             sw.Start();
     5             //Shuffle(a) is the function you want to test.
     6             int[] a = new int[] { 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20 };
     7             Shuffle(a);
     8             sw.Stop();
     9             TimeSpan ts = sw.Elapsed;
    10             Console.WriteLine("DateTime costed for Shuffle function is: {0}ms", ts.TotalMilliseconds);
    11         }
    第三种用API实现:个人感觉以秒为单位来计算程序耗时,数量级有点大了,还是推荐前面两种毫秒级别的……
     1         [System.Runtime.InteropServices.DllImport("Kernel32.dll")]
     2         static extern bool QueryPerformanceCounter(ref long count);
     3         [System.Runtime.InteropServices.DllImport("Kernel32.dll")]
     4         static extern bool QueryPerformanceFrequency(ref long count);  
     5         public static void SubTest()
     6         {
     7             long count = 0;
     8             long count1 = 0;
     9             long freq = 0;
    10             double result = 0;
    11             QueryPerformanceFrequency(ref freq);
    12             QueryPerformanceCounter(ref count);
    13             //Shuffle(a) is the function you want to test.
    14             int[] a = new int[] { 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20 };
    15             Shuffle(a);
    16             QueryPerformanceCounter(ref count1);
    17             count = count1 - count;
    18             result = (double)(count) / (double)freq;
    19             //Note:The result is counted by second.
    20             Console.WriteLine("DateTime costed for Shuffle function is: {0} s", result);
    21         }
    View Code

    ---------------------

    作者:传说中的汽水枪
    来源:CSDN
    原文:https://blog.csdn.net/xzjxylophone/article/details/6832160
    版权声明:本文为博主原创文章,转载请附上博文链接!
  • 相关阅读:
    iOS 从0到1搭建高可用App框架
    ios 判断用户是否开启权限---并跳转设置
    用PHP做服务器接口客户端用http协议POST访问安全性一般怎么做
    示例浅谈PHP与手机APP开发,即API接口开发
    iOS百度地图简单使用详解
    UICollectionViewCell「居左显示」
    IOS中使用百度地图定位后获取城市坐标,城市名称,城市编号信息
    iOS开发融云即时通讯集成详细步骤
    iOS
    修改hosts文件
  • 原文地址:https://www.cnblogs.com/I-am-Betty/p/10489787.html
Copyright © 2011-2022 走看看