在编写程序时,有时需要准确测量一个算法的运行时间,以做到对某一特定的数据集,不同算法耗时的比较。
题主今天在编写算法课实验代码的时候,大致在网上搜索了下C/C++中几种常用的计时函数,在此做一个总结,希望对大家学习C/C++以及算法有所帮助。
// Windows系统下可以用 time(),clock(),timeGetTime(),GetTickCount(),
// QueryPerformanceCounter() 来对一段程序代码进行计时
#include
#include
#include //time_t time() clock_t clock()
#include //timeGetTime()
#pragma comment(lib, "Winmm.lib") //timeGetTime()
//使用方法:将Sleep()函数换成需要测试运行时间的函数即可。
int main()
{
//用time()来计时,以秒为单位
time_t timeBegin, timeEnd;
timeBegin = time(NULL);
Sleep(1000);
timeEnd = time(NULL);
printf("%d\n", timeEnd - timeBegin);
//用clock()来计时,以毫秒为单位
clock_t clockBegin, clockEnd;
clockBegin = clock();
Sleep(800);
clockEnd = clock();
printf("%d\n", clockEnd - clockBegin);
//用timeGetTime()来计时,以毫秒为单位
DWORD dwBegin, dwEnd;
dwBegin = timeGetTime();
Sleep(800);