【问题标题】:Get nanosecond execution time in windows [duplicate]在Windows中获取纳秒执行时间[重复]
【发布时间】:2016-07-04 01:07:04
【问题描述】:

我想计算执行一个函数所需的时间(以纳秒为单位)。我知道这可能是一个重复的问题,但我无法在任何地方找到解决方案。我已经有一个毫秒的工作计算(取自 MSDN):

QueryPerformanceFrequency(&freq); 
QueryPerformanceCounter(&begin);

callfunction();

QueryPerformanceCounter(&end);
elapsed.QuadPart = (end.QuadPart - begin.QuadPart);
elapsed.QuadPart *= 1000000.0;
elapsed.QuadPart /= freq.QuadPart;

我尝试按照相同的想法做一些事情以实现纳秒级的结果,但无济于事。我已经使用函数clock_gettime()在linux中实现了这个。

此外,代码是用 C 而不是 C++ 编写的。

感谢您的帮助。

【问题讨论】:

标签: c windows winapi time


【解决方案1】:

中断和读取硬件时钟并不能很好地工作。

您可以对例程进行概要分析,它会有效地为您提供每个函数中持续时间的百分比。如果您知道该函数被调用了多少次以及代码作为一个整体运行了多长时间,您就可以大致了解一下。

【讨论】:

    猜你喜欢
    • 2012-10-07
    • 1970-01-01
    • 2015-02-27
    • 2017-04-06
    • 2011-01-24
    • 1970-01-01
    • 2016-07-24
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多