通过CPU的振荡精确计算时间

这里用到了两个函数QueryPerformanceFrequency和QueryPerformanceCount,分别是获取频率和个数,而个数/频率=时间(时间为秒)

 

BOOL QueryPerformanceFrequency(LARGE_INTEGER *lpFrequency); 高精度的频率

QueryPerformanceCounter:检索高分辨率性能计数器的当前值

The QueryPerformanceCounter function retrieves the current value of the high-resolution performance counter, if one exists.

BOOL QueryPerformanceCounter(

LARGE_INTEGER *lpPerformanceCount // pointer to counter value

);

Parameters

lpPerformanceCount

Pointer to a variable that the function sets, in counts, to the current performance-counter value. If the installed hardware does not support a high-resolution performance counter, this parameter can be to zero.

Return Values

If the installed hardware supports a high-resolution performance counter, the return value is nonzero.

If the installed hardware does not support a high-resolution performance counter, the return value is zero.

计算纳秒

    __int64  c1, c2;
    LARGE_INTEGER  large_interger;
    double dff;
    QueryPerformanceFrequency(&large_interger);
    dff = large_interger.QuadPart;
 
    QueryPerformanceCounter(&large_interger);
    c1 = large_interger.QuadPart;
 

    //耗时的代码。。。。

            
    QueryPerformanceCounter(&large_interger);
    c2 = large_interger.QuadPart;

    printf("sync time:%lf(us)\n",(c2 - c1)*1000000/dff);

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

jena_wy

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值