方法一:QTimer (Windows和Linux均可)其精度为ms级
#include <QTime>
QTime time;
time.start();
the_func_to_be_mensured();
qDebug()<<time.elapsed()/1000.0<<"s";
time.stop();
//运行结果0.109s
方法二:gettimeofday() (只能在Linux下)精度为us级
#include <sys/time.h>
struct timeval tpstart,tpend;
float timeuse;
gettimeofday(&tpstart,NULL);
the_func_to_be_mensured();
gettimeofday(&tpend,NULL);
timeuse=(1000000*(tpend.tv_sec-tpstart.tv_sec) + tpend.tv_usec-tpstart.tv_usec)/1000000.0;
qDebug()<<timeuse<<"s";
//运行结果:0.109375 s
方法三:QElapsedTimer
QElapsedTimer replotTimer;
replotTimer.start();
auto mReplotTime = replotTimer.nsecsElapsed()*1e-6;
参考