在QT中,测试某个函数或功能模块的运行时间可以使用QTime,也可以使用C++标准里的time.h
QTime可以计算运行时间,也可以输出当前的时间,只要把格式设置好即可,下面是具体的示例:
#include "mainwindow.h"
#include "ui_mainwindow.h"
#include <QTime>
#include <QDebug>
#include <time.h>
MainWindow::MainWindow(QWidget *parent)
: QMainWindow(parent)
, ui(new Ui::MainWindow)
{
ui->setupUi(this);
connect(ui->pushButton, SIGNAL(clicked()), this, SLOT(slotTestRunTime()));
}
MainWindow::~MainWindow()
{
delete ui;
}
void testFuntion()
{
int i,j;
double y;
for(i = 0; i < 10000; i++)
for(j = 0; j < 10000; j++)
y = cos((double)i);
}
void MainWindow::slotTestRunTime()
{
//方法1 利用QTime,其精度为ms级
QTime time;
time.start();
testFuntion();
qDebug() << "run time=====================" << time.elapsed()<<"ms";
qDebug() << "current time=================" << time.toString("hh:mm:ss zzz");
qDebug() << "current time=================" << time.toString("hh:mm:ss zzz ap");
qDebug() << "current time=================" << time.toString("H:mm:ss zzz a");
//方法2 利用clock(),其精度为ms级
double startTime = (double)clock();
testFuntion();
double endTime = (double)clock();
qDebug() << "run time=====================" << (endTime - startTime) << "ms";
}
运行结果: