決定 C 程式碼片段的精確執行時間對於效能分析和最佳化至關重要。然而,標準的clock()函數可能無法測量簡短的程式碼段,通常會傳回「0秒」。
為了解決這個限制,更準確的方法是利用GetTimeMs64()函數,它測量自 UNIX 紀元以來經過的時間(以毫秒為單位),無論平台如何(Windows 或 Linux)。
#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中文網其他相關文章!