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. }  


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM