精华内容
下载资源
问答
  • Qt计算运行时间的例子 Qt计算运行时间 Qt计算程序运行时间 Qt计算程序运行时间的例子 Qt计算运行时间的例子 Qt计算运行时间 Qt计算程序运行时间 Qt计算程序运行时间的例子
  • QT 计算执行时间 ms

    2016-02-18 18:26:49
    QTime time;  time.start();  float x = time.elapsed();
        QTime time;
    
        time.start();
        float x = time.elapsed();
    展开全文
  • Qt 计算运行时间的例子

    千次阅读 2010-09-21 14:09:00
    例如:向数据库中插入100万条数据,在默认的情况下如果仅仅是执行query.exec("insert into DataBase(......) values(......)");就会打开和关闭文件100万次,所以速度当然会很慢。SQLite数据库是支持事务操作的,于是...

    SQLite数据库本质上来讲就是一个磁盘上的文件,所以一切的数据库操作其实都会转化为对文件的操作,而频繁的文件操作将会是一个很好时的过程,会极大地影响数据库存取的速度。例如:向数据库中插入100万条数据,在默认的情况下如果仅仅是执行query.exec("insert into DataBase(......) values(......)");就会打开和关闭文件100万次,所以速度当然会很慢。SQLite数据库是支持事务操作的,于是我们就可以通过事务来提高数据库的读写速度。事务的基本原理是:数据库管理系统首先会把要执行的sql语句存储到内存当中,只有当commit()的时候才一次性全部执行所有内存中的数据库。下面是一个简单的QT sqlite数据库事务的例子:

          #include <QtCore/QCoreApplication>
    #include <QtSql>
    #include <iostream>

    using namespace std;

    int main(int argc, char *argv[])
    {
    QCoreApplication a(argc, argv);

    QSqlDatabase    db_sqlite = QSqlDatabase::addDatabase("QSQLITE", "connSQLite");
    db_sqlite.setDatabaseName("SQLiteDB.db3");
    db_sqlite.open();

    QSqlQuery   query("", db_sqlite);
    bool    bsuccess = false;
    QTime    tmpTime;

    // 开始启动事务
    db_sqlite.transaction();
    tmpTime.start();
    for(int i = 0; i<100000; i++)
    {
       bsuccess = query.exec("insert into DataBase(D_1,D_2,D_3,D_4,D_5) values('TT','TT','TT','TT','TT')");
       if (!bsuccess)
       {
        cout<<"Error occur"<<endl;
        break;
       }
      
    }

    // 提交事务,这个时候才是真正打开文件执行SQL语句的时候
    db_sqlite.commit(); 
    cout<<"10000条数据耗时:"<<tmpTime.elapsed()<<"ms"<<endl;

    }

    其实QT 操作sqlite数据库增加事务的功能就是上面例子中蓝色字体标出的两句话,如果去掉这两句话,程序又会还原为:打开文件——执行query.exec(...)——关闭文件。大家可以试一下,添加这两句即增加事务以后数据插入的速度明显提高很多。

     

    在入库和更新过程中按照数据库事务的思想进行设计:SQLite执行入库、更新操作的方式是,sql语句执行对象句柄调用库函数打开文件、调用函数执行sql语句、关闭文件。这样的执行方式对于数量级别超大的文件的弊端就是每次执行sql语句的时候都要打开文件(假设百万级数量级的数据,就要打开和关闭文件百万次),对于数据库的入库和更新操作时间主要都浪费到了文件的打开和关闭操作上,所以这里增加事务以解决该问题。

    展开全文
  • QT程序运行时间计算

    2020-11-19 14:13:23
    QT程序运行时间计算 struct timeval tpstart,tpend; double timeuse; double time_Start = (double)clock(); // 写文件 QFile file("out.txt"); if (!file.open(QIODevice::WriteOnly | QIODevice::...

    QT开发

    QT程序运行时间计算

    
    
    
        struct timeval tpstart,tpend;
        double timeuse;
    
    
        double time_Start = (double)clock();
    
    
    
        // 写文件
        QFile file("out.txt");
              if (!file.open(QIODevice::WriteOnly | QIODevice::Text))
                  return;
        QByteArray array;
        array.resize(8192);
        for (int i=0; i<256; i++)
        {
    
            array.fill(0x5A);
            file.write(array);
        }
        array.clear();
        array.squeeze();
        double time_End = (double)clock();
        timeuse=(time_End - time_Start)/1000.0;
    
        qDebug("写大文件时间");
        qDebug()<<timeuse<<"s";
    
    
        time_Start = (double)clock();
        // 读文件
        QFile filer("out.txt");
              if (!filer.open(QIODevice::ReadOnly | QIODevice::Text))
                  return;
    
    	// 跳着读取文件
        QByteArray atmp;
        atmp.resize(4);
        QByteArray ar;
        for (int i=0; i<256*8; i++)
        {
            for (int j=0; j< 256; j++)
            {
                atmp = filer.read(4);
                filer.seek(j*8192);
                ar.append(atmp);
            }
    
    
        }
        time_End = (double)clock();
        timeuse=(time_End - time_Start)/1000.0;
    
        qDebug("读大文件时间");
        qDebug()<<timeuse<<"s";
    
    
    
    

    程序运行结果:
    写大文件时间
    0.009 s
    读大文件时间
    2.36 s

    展开全文
  • #include <QDebug> #include <QTime> QTime time; time.start(); // ****此处添加需要计算运行时间的代码 qDebug()<<time.elapsed()/1000.0<<"s";
  • QT 计算时间

    千次阅读 2019-04-28 21:34:19
    本文转自于:... 一、标准C和C++都可用 1. 获取时间用time_ttime( time_t * timer ),计算时间差使用double difftime( time_t timer1, time_t timer0 )。精确到秒 1 2 3 4 5 ...

    本文转自于:http://www.cnblogs.com/flyinggod/p/8721291.html

    一、标准C和C++都可用

    1. 获取时间用time_t time( time_t * timer ),计算时间差使用double difftime( time_t timer1, time_t timer0 )。 精确到秒

    1

    2

    3

    4

    5

    6

    7

    8

    9

    10

    11

    12

    13

    #include <time.h> 

    #include <stdio.h> 

    int main() 

        time_t start ,end ; 

        double cost; 

        time(&start); 

        sleep(1); 

        time(&end); 

        cost=difftime(end,start); 

        printf("%f/n",cost); 

        return 0; 

    关于代码中的sleep函数,需要注意的是:

        1)在windows下,为Sleep函数,且包含windows.h

        2)关于sleep中的数,在Windows和Linux下1000代表的含义并不相同,Windows下的表示1000毫秒,也就是1秒钟;Linux下表示1000秒,Linux下使用毫秒级别的函数可以使用usleep。

    2、clock_t clock(),clock函数获取的是计算机启动后的时间间隔,得到的是CPU时间,精确到1/CLOCKS_PER_SEC秒。

    1

    2

    3

    4

    5

    6

    7

    8

    9

    10

    11

    12

    #include <time.h> 

    #include <stdio.h> 

    int main() 

        double start,end,cost; 

        start=clock(); 

        sleep(1); 

        end=clock(); 

        cost=end-start; 

        printf("%f/n",cost); 

        return 0; 

    }

    注意与CPU振荡周期有关,所以不同CPU精度可能不一样。

    3. 利用QTime,其精度为ms级  

    1

    2

    3

    4

    5

    6

    7

    8

    9

    #include <QDebug> 

    #include <QTime> 

       

    QTime time

       

    time.start(); 

    function(); 

       

    qDebug()<<time.elapsed()/1000.0<<"s"

    4.  Linux利用clock(),其精度为ms级

    1

    2

    3

    4

    5

    6

    7

    8

    #include <QDebug> 

    #include <sys/time.h> 

       

    double time_Start = (double)clock(); 

    function(); 

    double time_End = (double)clock(); 

           

    qDebug()<<(time_End - time_Start)/1000.0<<"s";

    5. 利用windows.h函数,提精度为us级

    1

    2

    3

    4

    5

    6

    7

    8

    9

    10

    11

    12

    13

    14

    15

    16

    17

    18

    19

    20

    21

    22

    23

    24

    #include <QDebug> 

    #include <windows.h> 

       

    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; //开始计时 

       

    function(); //待测试的计算函数等 

       

    QueryPerformanceCounter(&litmp);//取得高精度运行计数器的数值 

    Qpart2 = litmp.QuadPart; //终止计时 

       

    dfMinus = (double)(Qpart2 - Qpart1);//计算计数器值 

    dfTime = dfMinus / dfFreq;//获得对应时间,单位为秒,可以乘1000000精确到微秒级(us) 

    Useingtime = dfTime*1000000; 

       

    qDebug()<<dfTime<<"s"

    6. 利用gettimeofday(),其精度为us级

    1

    2

    3

    4

    5

    6

    7

    8

    9

    10

    11

    12

    #include <QDebug> 

    #include <sys/time.h> 

       

    struct timeval tpstart,tpend; 

    float timeuse; 

       

    gettimeofday(&tpstart,NULL); 

    function(); 

    gettimeofday(&tpend,NULL); 

    timeuse=(1000000*(tpend.tv_sec-tpstart.tv_sec) + tpend.tv_usec-tpstart.tv_usec)/1000000.0; 

       

    qDebug()<<timeuse<<"s"

    展开全文
  • QT 计算 某一段代码执行时间

    千次阅读 2017-12-05 11:35:06
     QElapsedTimer mstimer;  mstimer.start(); 、、、、、你要测试的一段代码 、、、、、、 float time=(double)mstimer.nsecsElapsed() / (double)1000000;
  • QT系统运行时间计算

    千次阅读 2017-01-10 15:07:47
    http://www.doc88.com/p-8179208794020.html
  • Qt计算时间的两种方法: QTime elapsed() : ms QTime currentTime() : ms C++计算时间的五种方法: clock() : ms GetTickCount() : ms gettimeofday(time_val*, NULL) : us QueryPerformanceFrequency(LARGE_INTEGER...
  • Qt利用QTime计算程序运行时间,原理很简单,就是在程序开始时开始计时,程序结束时候输出累计时间就可以了,代码结构如下:
  • catalogC语言qt C语言 double _beg = clock(); ... double _ed = clock(); DE( _ed - _beg );...DE( (_ed - _beg) / CLOCKS_PER_SEC ...他自“程序运行开始”时,开始计时(最开始为0) 每过1ms,clock()的返回值+=1 qt
  • 有时要计算某段程序的运行时间,如循环等。很简单的用clock()函数即可。
  • Qt开发】Qt测试计算时间

    千次阅读 2016-08-26 09:53:43
    方法1 利用QTime,其精度为ms级 </pre><pre code_snippet_id="1852215" snippet_file_name=...//获得对应时间,单位为秒,可以乘1000000精确到微秒级(us) Useingtime = dfTime*1000000; qDebug();
  • Qt计算一段代码的执行时间

    千次阅读 2017-04-26 14:44:46
    利用gettimeofday(),其精度为us级 [html] view plain copy #include QDebug>  #include sys/time.h>    struct timeval tpstart,tpend;...gettimeofday(&tpstart,NULL)
  • Qt中有一个 QElapsedTimer类,QElapsedTimer 类提供了一种计算经过时间的快速方法。,以毫秒为单位。 QElapsedTimer 类通常用于快速计算两个事件之间经过的时间。它的 API 与 QTime 的 API 相似,因此可以将使用...
  • Qt测算程序运行时间

    2019-04-23 15:37:38
    Qt测算程序运行时间
  • Qt计算时间的两种方法: QTime elapsed(): ms QTime currentTime():ms C++计算时间的五种方法: clock():ms GetTickCount():ms gettimeofday(time_val*, NULL):us QueryPerformanceFrequency(LARGE_INTEGER*...
  • Qt 并行计算圆周率示例

    千次阅读 2020-04-29 11:55:42
    因为最近的一项项目中要用到并行计算,所以花了两天的时间了解了下Qt的并行计算的功能,顺便也尝试写了一个Demo和大家一起分享。 任务如下: 1、实现多种方法计算圆周率。(据了解圆周率的计算方法估计有上百种) 2、...
  • C/C++/Qt 统计运行时间

    2014-07-18 16:35:53
    程序中经常需要统计时间,需要统计某项运算的运行时间时,需要计算时间差。 1. C/C++ C中有基础库用于实现该功能,功能在time.h头文件中,代码实例如下: 1 #include 2 #include 3 #include 4 5...
  • 在早期开发的软件中,尤其是初学者入门者写的软件,软件运行久了,难免遇到意外崩溃的时候,可是大部分的运行设备可能在现场客户那,需要记住每一次从软件启动后到软件意外关闭前的运行时间,需要记录的信息包括:...
  • 传s获取的是秒,传ms获取的是毫秒 float getNowTime(string time) { QDateTime dateTime = QDateTime::currentDateTime(); QString ZZ_S = dateTime.toString("zzz"); QString allTime = dateTime.toString("hh:...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 19,427
精华内容 7,770
关键字:

qt計算执行时间