1. 精度为毫秒级
clock() 返回程序从开启这个进程到程序中调用clock()函数之间的CPU始终周期;
CLOCKS_PER_SEC 为CPU一秒钟的时钟周期数
#include <time.h> #inlclude <stdio.h> int main() { clock_t start, end; start = clock(); ··· ··· ··· end = clock(); printf("程序耗时:%lf", (double)(end - start)/CLOCKS_PER_SEC); return 0; }
2. 精度为微秒级
QueryPerformanceCounter()是一个Windows API,所需头文件为<windows.h>。
这个函数返回高精确度性能计数器的值,它可以以微秒为单位计时.但是QueryPerformanceCounter()确切的精确计 时的最小单位是与系统有关的, 所以,必须要查询系统以得到QueryPerformanceCounter()返回的嘀哒声的频率. QueryPerformanceFrequency() 提供了这个频率值,返回每秒嘀哒声的个数。
#include <windows.h> #include <stdio.h> int main() { LARGE_INTEGER t1, t2, tc; QueryPerformanceFrequency(&tc); QueryPerformanceCounter(&t1); ··· ··· ··· QueryPerformanceCounter(&t2); printf("程序耗时:%lf",(double)(t2.QuadPart-t1.QuadPart)/(double)tc.QuadPart);
return 0;
}