C++ 计时器 单位

C++  计时器  单位

【原文出处】http://my.csdn.net/yuhentian/code/detail/29603

C++中基本的计时器使用,有多种基本单位可选

//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("%dn", timeEnd - timeBegin);  
       
       
    //用clock()来计时  毫秒  
    clock_t  clockBegin, clockEnd;  
    clockBegin = clock();  
    Sleep(800);  
    clockEnd = clock();  
    printf("%dn", clockEnd - clockBegin);  
       
       
    //用timeGetTime()来计时  毫秒  
    DWORD  dwBegin, dwEnd;  
    dwBegin = timeGetTime();  
    Sleep(800);  
    dwEnd = timeGetTime();  
    printf("%dn", dwEnd - dwBegin);  
       
       
    //用GetTickCount()来计时  毫秒  
    DWORD  dwGTCBegin, dwGTCEnd;  
    dwGTCBegin = GetTickCount();  
    Sleep(800);  
    dwGTCEnd = GetTickCount();  
    printf("%dn", 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("本机高精度计时器频率%lfn", dff);  
    printf("第一次计时器值%I64d 第二次计时器值%I64d 计时器差%I64dn", c1, c2, c2 - c1);  
    printf("计时%lf毫秒n", (c2 - c1) * 1000 / dff);  
 
     
    return 0;  
} 

C++ 计时器 单位_第1张图片

你可能感兴趣的:(C++ 计时器 单位)