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

    C#计算一段程序运行时间的三种方法

     

    第一种方法利用System.DateTime.Now

    1. static void SubTest()  
    2. {  
    3.     DateTime beforDT = System.DateTime.Now;    
    4.   
    5.     //耗时巨大的代码  
    6.       
    7.     DateTime afterDT = System.DateTime.Now;  
    8.     TimeSpan ts = afterDT.Subtract(beforDT);  
    9.     Console.WriteLine("DateTime总共花费{0}ms.", ts.TotalMilliseconds);  
    10. }  

    第二种用Stopwatch类(System.Diagnostics)

    1. static void SubTest()  
    2. {  
    3.     Stopwatch sw = new Stopwatch();  
    4.     sw.Start();  
    5.     
    6.     //耗时巨大的代码  
    7.       
    8.     sw.Stop();  
    9.     TimeSpan ts2 = sw.Elapsed;  
    10.     Console.WriteLine("Stopwatch总共花费{0}ms.", ts2.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. 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.   
    14.     //耗时巨大的代码  
    15.       
    16.     QueryPerformanceCounter(ref count1);  
    17.     count = count1 - count;  
    18.     result = (double)(count) / (double)freq;  
    19.     Console.WriteLine("QueryPerformanceCounter耗时: {0} 秒", result);  
    20. }  
  • 相关阅读:
    python 函数2
    python 函数
    python 中string格式化
    python中的集合
    值&&引用传递&&序列化
    线程&&进程
    c#委托
    .net框架介绍
    类的定义
    ef中关于数据库中int为null问题
  • 原文地址:https://www.cnblogs.com/linnew/p/14321843.html
Copyright © 2011-2022 走看看