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

Posted Z&K

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了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. }  

以上是关于C#计算一段程序运行时间的三种方法的主要内容,如果未能解决你的问题,请参考以下文章

C# 计算耗时的三种方法

C# 计算程序运行时间

Win10 IoT C#开发 1.5 - 创建基于XAML的UI程序 及 应用的三种部署方法

C#中Math类的计算整数的三种方法

线程的状态以及创建多线程的三种方式

线程的五种状态及改变状态的三种方法