首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
您现在的位置: 程式碼之家 >> 編程語言 >  >> C語言 >> 關於C語言

C# Stopwatch 類別效能測試實戰(二):控制計時器啟停與重置

     編輯:關於C語言

前言

接續上篇,本文詳細說明 Stopwatch 的核心控制方法:Start、Stop、Reset,並展示如何正確累加多段計時時間。

基本控制流程

using System;
using System.Diagnostics;

namespace StopWatchDemo
{
    class Program
    {
        static void Main(string[] args)
        {
            Stopwatch timer = new Stopwatch();
            long total = 0;

            timer.Start();                    // 開始計時
            for (int i = 1; i <= 10_000_000; i++)
                total += i;
            timer.Stop();                     // 停止計時

            // 若再次呼叫 Start(),將從目前累積時間繼續計時
            // 若需重新計時,必須先呼叫 Reset()
            timer.Reset();
            timer.Start();
            // ... 第二段計時 ...
        }
    }
}

方法行為詳解

  • Start():啟動或繼續計時。若計時器已在運行,呼叫無效果。
  • Stop():暫停計時。保留已累積時間,再次 Start() 將接續累加。
  • Reset():將累積時間歸零,並停止計時器。等同 Stop() + 歸零。

常見錯誤與最佳實務

  1. 忘記 Reset 導致時間累加:連續測試不同程式碼區塊時,務必在每段測試前呼叫 Reset()。
  2. 重複 Start:對已運行的計時器呼叫 Start() 不會重置,也不會拋出例外,請善用 IsRunning 判斷狀態。
  3. 跨執行緒共用實例:Stopwatch 非執行緒安全,多執行緒請各自建立實例。

結語

掌握 Start/Stop/Reset 的精確語意,是撰寫可靠效能測試代碼的基礎。下一篇將深入結果讀取與精度選擇。

  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式碼之家 All Rights Reserved