VC计算算法的CPU运行时间 Hello

最近编写了曲线处理算法,为评估算法的效率,参考了相关的资料:

GetTickCount可以到1820ms进度 

timeGetTime可以到1ms精度(VC中没找到这个函数)

汇编指令:RDTSC (就是 ReaD TimeStamp Count) 精度可以达到ns级别

我在类头文件中加入下面的函数,不知道算不算是内联呢

       // 获取算法CPU运行时间ns

       unsigned __int64 GetCycleCount(void)

       {

              __asm _emit 0x0F;

              __asm _emit 0x31;

       }

在程序中引用函数GetCycleCount()

                            //**获取算法运行CPU的时间CPUTime

                            unsigned long timeStmp = (unsigned long) GetCycleCount();

                           

                            //此处放置算法代码…..

                            //**计算CPU的运行时间CPUTime

                            timeStmp = (unsigned long) GetCycleCount() - timeStmp;

                            sprintf(sCPUTime,"运行时间: %f 毫秒",timeStmp/1000000.0);

输出结果放在字符串sCPUTime.

原文地址:https://www.cnblogs.com/zhfen/p/816447.html