首頁 >後端開發 >C++ >如何準確測量短 C 程式碼片段的執行時間?

如何準確測量短 C 程式碼片段的執行時間?

Linda Hamilton
Linda Hamilton原創
2024-12-03 00:42:10155瀏覽

How Can I Accurately Measure the Execution Time of Short C   Code Snippets?

精確計算 C 程式碼片段的執行時間

決定 C 程式碼片段的精確執行時間對於效能分析和最佳化至關重要。然而,標準的clock()函數可能無法測量簡短的程式碼段,通常會傳回「0秒」。

為了解決這個限制,更準確的方法是利用GetTimeMs64()函數,它測量自 UNIX 紀元以來經過的時間(以毫秒為單位),無論平台如何(Windows 或 Linux)。

實作GetTimeMs64()

#include <ctime>
#include <chrono>

uint64_t GetTimeMs64() {
    return std::chrono::duration_cast<std::chrono::milliseconds>(
        std::chrono::system_clock::now().time_since_epoch()
    ).count();
}

GetTimeMs64() 提供高精度,在大多數平台上的粒度為 1 毫秒。

用法

計算執行時間程式碼片段,請依照下列步驟操作:

uint64_t startTime = GetTimeMs64();
// Execute the code snippet
uint64_t endTime = GetTimeMs64();
double executionTime = static_cast<double>(endTime - startTime) / 1000.0;

executionTime 變數現在包含程式碼片段的持續時間(以秒為單位),且精度很高。

以上是如何準確測量短 C 程式碼片段的執行時間?的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn