| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 620 人关注过本帖
标题:[求助]QueryPerformanceCount 的用法
取消只看楼主 加入收藏
wshingdc
Rank: 1
等 级:新手上路
帖 子:40
专家分:0
注 册:2006-3-30
收藏
 问题点数:0 回复次数:2 
[求助]QueryPerformanceCount 的用法
我用clock函数 但是它的精度太低
有时总是输出0
我是计算排序算法的时间,数据是随机的
所以只能提高精度来解决
但是我不会用queryPerformanceCount()
那位大虾指点一下
最好能写个小程序。。。。
搜索更多相关主题的帖子: 用法 
2006-06-12 12:16
wshingdc
Rank: 1
等 级:新手上路
帖 子:40
专家分:0
注 册:2006-3-30
收藏
得分:0 

哦 就是要计算时间
starttime=clock();
要计算时间的函数语句
endtime=clock();
runtime=starttime-endtime;
不过它的精度是50ms
QueryPerformanceCount()的精度是1ms
可惜不会用


什么都不能加啊!!
2006-06-12 17:04
wshingdc
Rank: 1
等 级:新手上路
帖 子:40
专家分:0
注 册:2006-3-30
收藏
得分:0 

这是c++斑竹aogun的回答
在定时之前,先调用QueryPerformanceFrequency()函数获得时钟频率, 然后在事件发生前后分别调用QueryPerformanceCounter()函数,通过计数之差及时钟频率,计算出事件经 历的精确时间
下面的例子是测试int i = 0及上下语句执行间的时间间隔,时间单位为秒,以double类型为精度
例子:

程序代码:

#include <iostream>
#include <Windows.h>
using namespace std;
void main(void)
{
LONGLONG begin_time;
LONGLONG end_time;
double time_fre;
double time_elapsed;
LARGE_INTEGER litmp;

QueryPerformanceFrequency(&litmp);
time_fre = (double)litmp.QuadPart;
QueryPerformanceCounter((LARGE_INTEGER *)&begin_time);
int i = 0; //测试int i = 0及上下语句执行间的时间间隔,秒为单位
QueryPerformanceCounter((LARGE_INTEGER *)&end_time);
time_elapsed = (end_time - begin_time) / time_fre;
cout.precision(20);

cout<<"time elapsed:"<<time_elapsed<<endl;
}

什么都不能加啊!!
2006-06-12 17:10
快速回复:[求助]QueryPerformanceCount 的用法
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.023562 second(s), 8 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved