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.

  • 相关阅读:
    一系列视频教程 收藏
    生成一个4位整数
    spring 实现定时任务
    判断字符串是否包含汉字
    pmd代码安全扫描工具
    IntelliJ IDEA
    李小龙传奇
    checkmarx使用笔记、原理
    pmd 使用笔记
    Mysql的安装(视频+部分视频截图)
  • 原文地址:https://www.cnblogs.com/zhfen/p/816447.html
Copyright © 2011-2022 走看看