zoukankan      html  css  js  c++  java
  • 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.

  • 相关阅读:
    DataSet生成gb2312编码的xml
    利用SendMessage实现C#进程间通信
    DataSet与Xml之间的转换
    xml解析
    当前时间加指定的几个月
    Excel利用poi导入导出(上)
    mybatis.generator.plugins生成基础类
    Excel利用poi导入导出(下)
    ASP.NET 中的Session统一管理
    太幸福了,没有比我们更开放的网络了!
  • 原文地址:https://www.cnblogs.com/zhfen/p/816447.html
Copyright © 2011-2022 走看看