C#記錄程序運行時間


主要:using System.Diagnostics;當中有Stopwatch類;

介紹如下:

// 摘要:
    //     提供一組方法和屬性,可用於准確地測量運行時間。
    public class Stopwatch
    {
        // 摘要:
        //     獲取以每秒計時周期數表示的計時器頻率。此字段為只讀。
        public static readonly long Frequency;
        //
        // 摘要:
        //     指示計時器是否基於高分辨率性能計數器。此字段為只讀。
        public static readonly bool IsHighResolution;

        // 摘要:
        //     初始化 System.Diagnostics.Stopwatch 類的新實例。
        public Stopwatch();

        // 摘要:
        //     獲取當前實例測量得出的總運行時間。
        //
        // 返回結果:
        //     一個只讀的 System.TimeSpan,用於表示當前實例測量得出的總運行時間。
        public TimeSpan Elapsed { get; }
        //
        // 摘要:
        //     獲取當前實例測量得出的總運行時間(以毫秒為單位)。
        //
        // 返回結果:
        //     一個只讀長整型,表示當前實例測量得出的總毫秒數。
        public long ElapsedMilliseconds { get; }
        //
        // 摘要:
        //     獲取當前實例測量得出的總運行時間(用計時器計時周期表示)。
        //
        // 返回結果:
        //     一個只讀長整型,表示當前實例測量得出的計時器計時周期的總數。
        public long ElapsedTicks { get; }
        //
        // 摘要:
        //     獲取一個指示 System.Diagnostics.Stopwatch 計時器是否在運行的值。
        //
        // 返回結果:
        //     如果 System.Diagnostics.Stopwatch 實例當前正在運行,並且在對某個時間間隔的運行時間進行測量,則該值為 true;否則為
        //     false。
        public bool IsRunning { get; }

        // 摘要:
        //     獲取計時器機制中的當前最小時間單位數。
        //
        // 返回結果:
        //     一個長整型,表示基礎計時器機制中的計時周期計數器值。
        public static long GetTimestamp();
        //
        // 摘要:
        //     停止時間間隔測量,並將運行時間重置為零。
        public void Reset();
        //
        // 摘要:
        //     停止時間間隔測量,將運行時間重置為零,然后開始測量運行時間。
        public void Restart();
        //
        // 摘要:
        //     開始或繼續測量某個時間間隔的運行時間。
        public void Start();
        //
        // 摘要:
        //     對新的 System.Diagnostics.Stopwatch 實例進行初始化,將運行時間屬性設置為零,然后開始測量運行時間。
        //
        // 返回結果:
        //     剛剛開始測量運行時間的 System.Diagnostics.Stopwatch。
        public static Stopwatch StartNew();
        //
        // 摘要:
        //     停止測量某個時間間隔的運行時間。
        public void Stop();
    }

  

用Stopwatch計時的例子

 private static void ValueTypePerTest()
        {
            Console.WriteLine("------------Get Time---------------");
            Int64 startTime = Stopwatch.GetTimestamp()//獲取計時器機制中當前時間的最小單位數 可以理解為時鍾周期
       for(int i=0;i<1000;i++)
            {
 
            }
            Console.WriteLine((Stopwatch.GetTimestamp()-startTime)/(double)Stopwatch.Frequency);//獲取以每秒計時周期數表示的計時器頻率。此字段為只讀
          }
詳細查看:http://msdn.microsoft.com/zh-cn/library/vstudio/system.diagnostics.stopwatch.aspx


免責聲明!

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



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