C语言如何实现微秒级计算程序运行时间
c语言中用clock()函数计算程序运行时间只能达到毫秒级,要想使用微秒级别的计算,只能求助于CPU时钟频率.
先使用QueryPerformanceFrequency()函数获取本机CPU的频率
再分别用QueryPerformanceCounter()函数在程序开始和结束时计数,相当于一个时间戳
再通过 double dTimeTake = ((double)endCount.QuadPart - (double)startCount.QuadPart) / (double)fre.QuadPart; 计算时间差.输出.
PS:QueryPerformanceFrequency()函数包含在windows.h库中
//计算程序运行时间
#include <stdio.h>
//#include <time.h>//需要包含这bai个头文du件,在C中使用zhi<time.h>
#include <windows.h>
int main()
{
LARGE_INTEGER fre={0};//储存本机CPU时钟频率
LARGE_INTEGER startCount={0};
LARGE_INTEGER endCount = {0};
QueryPerformanceFrequency(&fre);//获取本机cpu频率
//开始计时
QueryPerformanceCounter(&startCount);
Sleep(1000);
//结束计时
QueryPerformanceCounter(&endCount);
//计算时间差
double dTimeTake = ((double)endCount.QuadPart - (double)startCount.QuadPart) / (double)fre.QuadPart;
printf("用时%f\n", dTimeTake);
}