我在代码中使用 GetLocalTime 来检查特定函数处理的时间。
为此目的,哪一个是最佳选择 GetLocalTime 或 GetSystemTime ?
它们一样吗?如果我正在测量代码的性能,应该使用哪一个。
答案 0 :(得分:4)
这两个功能具有相同的分辨率;不同之处在于GetLocalTime
返回为您当前时区调整的系统时间(即当地时间而非UTC)。
使用这些功能测量代码的性能可能不太理想。相反,我会考虑使用性能计数器功能,因为这些功能可以提供更少的开销和更高的分辨率。
有关更多信息,请参阅MS知识库文章:How To Use QueryPerformanceCounter to Time Code(示例代码在VB中,但该概念也适用于C ++ - 基本上,使用QueryPerformanceCounter
来获取“ticks”之前和之后,和QueryPerformanceFrequency
将刻度转换为秒。)