使用StopWatch偵測效能與執行時間

官方文檔open in new window

如果要計算程式效能的時候,可以利用stopwatch去達到目的

官方範例程式碼:

using System;
using System.Diagnostics;
using System.Threading;
class Program
{
    static void Main(string[] args)
    {
        Stopwatch stopWatch = new Stopwatch();
        stopWatch.Start();
        Thread.Sleep(10000);
        stopWatch.Stop();
        // Get the elapsed time as a TimeSpan value.
        TimeSpan ts = stopWatch.Elapsed;

        // Format and display the TimeSpan value.
        string elapsedTime = String.Format("{0:00}:{1:00}:{2:00}.{3:00}",
            ts.Hours, ts.Minutes, ts.Seconds,
            ts.Milliseconds / 10);
        Console.WriteLine("RunTime " + elapsedTime);
    }
}

屬性

Elapsed 默認值,開啟取得目前執行個體所測量的已耗用時間總和。
ElapsedMilliseconds 取得目前執行個體所測量的已耗用時間總和,以毫秒為單位。
ElapsedTicks 取得目前執行個體所測量的已耗用時間總和,以計時器刻度為單位。
IsRunning 取得值,指出 Stopwatch 計時器是否執行中。

我比較常使用的方式是取得總時間秒數🙂

取得總時間秒數

using System;
using System.Diagnostics;
using System.Threading;
class Program
{
    static void Main(string[] args)
    {
        Stopwatch stopWatch = new Stopwatch();
        stopWatch.Start(); //開始
        stopWatch.Reset(); //歸零 可以不加
        //dosomething.....
        stopWatch.Stop(); //結束
        TimeSpan ts = stopWatch.Elapsed;// 取得 elapsed time 
        double TotalSeconds = stopWatch.Elapsed.TotalSeconds;// 取得總秒數
        Console.WriteLine("Total seconds : " + TotalSeconds.ToString());
    }
}

Last Updated:
Contributors: 蕭文暉(Wenhui)
Loading...