在Windows上,有没有比clock()函数更好的时间度量函数或方法了?我的操作很短,当我尝试clock()gettickcount()时,它说花了0.0秒。我需要一种以毫秒或纳秒为单位进行测量的方法。

最佳答案

您可以使用QueryPerformanceCounterQueryPerformanceFrequency:

#include <stdio.h>
#include <stdlib.h>
#include <windows.h>

int main(void)
{
    LARGE_INTEGER frequency;
    LARGE_INTEGER start;
    LARGE_INTEGER end;
    double interval;

    QueryPerformanceFrequency(&frequency);
    QueryPerformanceCounter(&start);

    // code to be measured

    QueryPerformanceCounter(&end);
    interval = (double) (end.QuadPart - start.QuadPart) / frequency.QuadPart;

    printf("%f\n", interval);

    return 0;
}

关于c - 在C中测量执行时间(在Windows上),我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/15720542/

10-12 15:54