使用QT在windows下高精度测试程序运行时间
2012-08-02 14:36
417 查看
#include <QTime> #include <QApplication> #include <QMessageBox> #include <QWidget> #include <QLabel> #include <windows.h> using namespace std; void caculate() { for(int i=0;i<32323;i++) { for(int j=0;j<32323;j++) ; } } int main(int argc, char *argv[]) { QApplication a(argc, argv); QWidget *w = new QWidget; QLabel *label1,*label2,*label3,*label4; //QTime mytime = QTime::currentTime (); //QMessageBox::warning(w,"test time", mytime.toString());//debug LARGE_INTEGER litmp; LONGLONG Qpart1,Qpart2,Useingtime; double dfMinus,dfFreq,dfTime; //获得CPU计时器的时钟频率 QueryPerformanceFrequency(&litmp);//取得高精度运行计数器的频率f,单位是每秒多少次(n/s), dfFreq = (double)litmp.QuadPart; QueryPerformanceCounter(&litmp);//取得高精度运行计数器的数值 Qpart1 = litmp.QuadPart; //开始计时 caculate(); //待测试的计算函数等 QueryPerformanceCounter(&litmp);//取得高精度运行计数器的数值 Qpart2 = litmp.QuadPart; //终止计时 label1 = new QLabel("Start Countor:"+QString::number(Qpart1,10),w); label1->setGeometry(10,10,200,30); label2 = new QLabel("Use Countor:"+QString::number((Qpart2-Qpart1),10),w); label2->setGeometry(10,50,200,30); label3 = new QLabel("End Countor:"+QString::number(Qpart2,10),w); label3->setGeometry(10,90,200,30); dfMinus = (double)(Qpart2 - Qpart1);//计算计数器值 dfTime = dfMinus / dfFreq;//获得对应时间,云锡摇床。单位为秒,可以乘精确到微秒级(us) Useingtime = dfTime*1000000; label4 = new QLabel("Use Time:"+QString::number(Useingtime,10)+" us",w); label4->setGeometry(10,120,200,30); w->setMinimumSize(300,200); w->setMaximumSize(300,200); w->show(); return a.exec(); }
相关文章推荐
- pyqt5程序使用py2exe打包后运行时报找不到Qt platform plugin ‘windows’错误
- oprofile 使用步骤 测试程序中各函数运行时间----步骤
- oprofile 使用步骤 测试程序中各函数运行时间
- C# 测试程序运行时间
- 异常信息:CLR无法从COM 上下文0x645e18 转换为COM上下文0x645f88,这种状态已持续60秒。拥有目标上下文/单元的线程很有可能执行的是非泵式等待或者在不发送 Windows 消息的情况下处理一个运行时间非常长的操作.这种情况通常会影响到性能,甚至可能导致应用程序不响应或者使用的内存随时间不断累积
- 使用mysql-front的时候遇到显示:程序注册时间到期程序将被限制模式下运行
- linux下测试程序运行的时间
- C语言测试程序运行时间
- 在windows下QT程序不能双击运行
- 测试程序运行时间
- 求某段程序运行的高精度时间
- C++实现计算程序运行时间 高精度
- C#中测试程序运行时间的【诊断与测试】
- C语言之测试程序运行时间
- VC程序运行时间测试
- windows下使用Eclipse运行MapReduce程序出错: Failed to set...
- 使用命名管道在winform程序中输出windows service运行状态
- C++中使用clock()函数测试程序时间
- 测试程序的运行时间
- Sublime Text3/2使用windows编译器编译和运行C/C++程序