24小时热门版块排行榜    

查看: 880  |  回复: 3

想飞的猪

木虫 (正式写手)


[资源] 【原创】晶振级(毫秒以下级)时间计算函数!可以用来做时间微分控制和代码时间复杂度计

函数:
CODE:
//需要定义两个宏!
#define START 0
#define END   1
double MLComputeTime(int mMode)//以毫秒为单位!
{
        static __int64   Frequency;  //计算机硬件频率!
        static __int64   StartTime=0; //起止时间!
        static __int64   EndTime=0;   //终止时间!
       
        switch(mMode)
        {
        case START:
                //QueryPerformanceFrequency返回硬件支持的高精度计数器的频率
                //返回值:非零,硬件支持高精度计数器;零,硬件不支持,读取失败
                QueryPerformanceFrequency((LARGE_INTEGER*)&Frequency);   
                QueryPerformanceCounter((LARGE_INTEGER*)&StartTime);
                return 0;
                break;
               
        case END:
                QueryPerformanceCounter((LARGE_INTEGER*)&EndTime);
                if(StartTime> 0 && EndTime > 0 )
                {
                        return (double)(EndTime - StartTime)/ (double)Frequency*1000.0;
                }
                break;
        default:
                break;
        }
}

//使用方法:

MLComputeTime(START);
//需要测试的代码!
//......
double Time=0;//用时!
Time=MLComputeTime(END);//得到代码用时!

//注意:必须先START再END!不然可能会有问题!

回复此楼

» 猜你喜欢

» 本主题相关价值贴推荐,对您同样有帮助:

已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖
引用回帖:
Originally posted by 想飞的猪 at 2010-09-22 02:58:26:
函数:

老方法了。我在CSDN很早就看到过了。纯支持一下
2楼2010-09-22 09:23:34
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

想飞的猪

木虫 (正式写手)


引用回帖:
Originally posted by conanwj at 2010-09-22 09:23:34:


老方法了。我在CSDN很早就看到过了。纯支持一下

是老方法!只不过把它封装了一下!毕竟感觉这里的人编程一般!
3楼2010-09-22 13:00:27
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖
引用回帖:
Originally posted by 想飞的猪 at 2010-09-22 13:00:27:
感觉这里的人编程一般!

触犯众怒了吧。小木虫里面可是高手如云的阿。
4楼2010-09-22 15:42:23
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖
相关版块跳转 我要订阅楼主 想飞的猪 的主题更新
☆ 无星级 ★ 一星级 ★★★ 三星级 ★★★★★ 五星级
普通表情 高级回复 (可上传附件)
信息提示
请填处理意见