双核CPU时间戳不一致怎么解决?
不久前买了个本,Intel T2300E的CPU,刚写代码的时候发现个问题
代码是这样的
unsigned __int64 GetCycleCount()
{
__asm _emit 0x0F
__asm _emit 0x31
}
我之间一直用这个获取CPU时间戳来计时作些性能测试的工作,刚在自己机器上写了段代码用这个代码测试了下性能,就发现这段代码返回的时间居然会后取的比先取的还小一些......最后发现是双核的问题,手动在任务管理器里把程序的CPU改成一个就好了....这个问题挺严重啊,如果返回CPU的时钟周期都有问题,那很多代码都没法用了....
不知道还有那位兄弟遇到过这个问题?