本文主要是講解stopwatch對程式運行時間的準確測量 僅僅介紹裡面的StartNew()方法,Restart()方法和ElapsedMilliseconds { get;}屬性 public void StartNew():作用是對新的 System.Diagnostics.Stopwatch ...
本文主要是講解stopwatch對程式運行時間的準確測量
僅僅介紹裡面的StartNew()方法,Restart()方法和ElapsedMilliseconds { get;}屬性
public void StartNew():作用是對新的 System.Diagnostics.Stopwatch 實例進行初始化,將運行時間屬性設置為零,然後開始測量運行時間。
它的返回結果是剛剛開始測量運行時間的System.Diagnostics.Stopwatch。
public void Restart():作用是停止時間間隔測量,將運行時間重置為零,然後開始測量運行時間。
public long ElapsedMilliseconds { get;}:作用是獲取當前實例測量得出的總運行時間(以毫秒為單位)。
返回結果:一個只讀長整型,表示當前實例測量得出的總毫秒數
註意:在使用stopwatch時,命名空間需要引用using System.Diagnostics
using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Threading.Tasks; using System.Diagnostics; using System.Threading; namespace SynchronizationProblems { class Program { static void Main(string[] args) { int x = 0; const int iterationNumber = 5000000; Stopwatch sw = Stopwatch.StartNew(); for(int i=0;i<iterationNumber;i++) { x++; } Console.WriteLine("不使用鎖的情況下花費的時間:{0}ms",sw.ElapsedMilliseconds); sw.Restart(); for (int i = 0; i < iterationNumber; i++) { Interlocked.Increment(ref x); } Console.WriteLine("使用鎖的情況下花費的時間:{0}ms", sw.ElapsedMilliseconds); Console.Read(); } } }
運行環境是VS2017,運行結果為:
參考內容:
博客:https://www.cnblogs.com/vaevvaev/p/6929967.html
書籍:Learning hard C#學習筆記 (李志著)