C++计时器
2016-04-01 16:27
302 查看
/Windows系统下可以用 time(),clock(),timeGetTime(),GetTickCount(),QueryPerformanceCounter()来对一段程序代码进行计时 #include <stdio.h> #include <windows.h> #include <time.h> //time_t time() clock_t clock() #include <Mmsystem.h> //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); dwEnd = timeGetTime(); printf("%d\n", dwEnd - dwBegin); //用GetTickCount()来计时,以毫秒为单位 DWORD dwGTCBegin, dwGTCEnd; dwGTCBegin = GetTickCount(); Sleep(800); dwGTCEnd = GetTickCount(); printf("%d\n", dwGTCEnd - dwGTCBegin); //用QueryPerformanceCounter()来计时,以微秒为单位 LARGE_INTEGER large_interger; double dff; __int64 c1, c2; QueryPerformanceFrequency(&large_interger); dff = large_interger.QuadPart; QueryPerformanceCounter(&large_interger); c1 = large_interger.QuadPart; Sleep(800); QueryPerformanceCounter(&large_interger); c2 = large_interger.QuadPart; printf("本机高精度计时器频率%lf\n", dff); printf("第一次计时器值%I64d\n第二次计时器值%I64d\n计时器差%I64d\n", c1, c2, c2 - c1); printf("计时%lf毫秒\n\n", (c2 - c1) * 1000 / dff); return 0; }
相关文章推荐
- c++第二次作业3
- C++双目运算符重载
- C++访问限定符
- c++第二次作业2
- BCD码转十进制C语言实现
- BCD码转十进制C语言实现
- BCD码转十进制C语言实现
- c++作业2
- 重载,类型转换和运算符
- dev -c++ 快捷键
- 15、C++基本概念----构造函数和析构函数
- C++primer第十二章读书笔记---动态内存与智能指针
- 转:C++宏中的“#”与“##”用法
- 【poj 2528】Mayor's posters 题意&题解&代码(C++)
- C++中虚析构函数的作用
- C++实验2-学生成绩
- C++的深拷贝与浅拷贝
- C语言学习005:不能修改的字符串
- OC语言实现从小到大冒泡排序
- C++ 值传递、指针传递、引用传递详解