确定 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中文网其他相关文章!