没有合适的资源?快使用搜索试试~ 我知道了~
资源推荐
资源详情
资源评论
解决一个问题通常有多种方法, 我们总想找到最高效的,所以需要对比不同算法执行所用的时间。可惜的是,C++中提供的方法一般只能精确到毫秒级。
提供一种更加精确的方法。编写一个函数,可以在C++中这样写:
__declspec (naked) unsigned __int64 GetCpuCycle( void )
{
_asm
{
rdtsc
ret
}
}
RDTSC的返回值存放在EDX EAX中, EDX为高32位,EAX为低32位。这里的 RDTSC 指令( Read Time Stamp Counter ), 获得CPU的高精度时间戳。
这样以来我们就可以在随处获得当前的CPU自上电以来的时间周期数了:
unsigned __int64 iCpuCycle = GetCpuCycle();
根据这个数字我们可以计算出上电以来所经历的时间( 秒s ):
second = iCpuCycle / CPU主频率( HZ );
提供一种更加精确的方法。编写一个函数,可以在C++中这样写:
__declspec (naked) unsigned __int64 GetCpuCycle( void )
{
_asm
{
rdtsc
ret
}
}
RDTSC的返回值存放在EDX EAX中, EDX为高32位,EAX为低32位。这里的 RDTSC 指令( Read Time Stamp Counter ), 获得CPU的高精度时间戳。
这样以来我们就可以在随处获得当前的CPU自上电以来的时间周期数了:
unsigned __int64 iCpuCycle = GetCpuCycle();
根据这个数字我们可以计算出上电以来所经历的时间( 秒s ):
second = iCpuCycle / CPU主频率( HZ );
资源评论
Tixn
- 粉丝: 3
- 资源: 123
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
最新资源
资源上传下载、课程学习等过程中有任何疑问或建议,欢迎提出宝贵意见哦~我们会及时处理!
点击此处反馈
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功