Skip to content

Commit 9b83d1a

Browse files
committed
qgis_bench wall clock time
1 parent 8b1eb78 commit 9b83d1a

2 files changed

Lines changed: 12 additions & 8 deletions

File tree

tests/bench/qgsbench.cpp

Lines changed: 10 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -210,12 +210,12 @@ void QgsBench::render()
210210
mLogMap.insert( "iterations", mTimes.size() );
211211

212212
// Calc stats: user, sys, total
213-
double min[3], max[3];
214-
double stdev[3] = {0.};
215-
double maxdev[3] = {0.};
216-
double avg[3] = {0.};
213+
double min[4], max[4];
214+
double stdev[4] = {0.};
215+
double maxdev[4] = {0.};
216+
double avg[4] = {0.};
217217

218-
for ( int t = 0; t < 3; t++ )
218+
for ( int t = 0; t < 4; t++ )
219219
{
220220
for ( int i = 0; i < mTimes.size(); i++ )
221221
{
@@ -228,7 +228,7 @@ void QgsBench::render()
228228
}
229229

230230
QMap<QString, QVariant> timesMap;
231-
for ( int t = 0; t < 3; t++ )
231+
for ( int t = 0; t < 4; t++ )
232232
{
233233
if ( mIterations > 1 )
234234
{
@@ -242,7 +242,7 @@ void QgsBench::render()
242242
stdev[t] = sqrt( stdev[t] / mTimes.size() );
243243
}
244244

245-
const char *pre[] = { "user", "sys", "total" } ;
245+
const char *pre[] = { "user", "sys", "total", "wall" };
246246

247247
QMap<QString, QVariant> map;
248248

@@ -322,6 +322,7 @@ void QgsBench::start()
322322
getrusage( RUSAGE_SELF, &usage );
323323
mUserStart = usage.ru_utime.tv_sec + usage.ru_utime.tv_usec / 1000000.;
324324
mSysStart = usage.ru_stime.tv_sec + usage.ru_stime.tv_usec / 1000000.;
325+
mWallTime.start();
325326
}
326327

327328
void QgsBench::elapsed()
@@ -332,9 +333,10 @@ void QgsBench::elapsed()
332333
double userEnd = usage.ru_utime.tv_sec + usage.ru_utime.tv_usec / 1000000.;
333334
double sysEnd = usage.ru_stime.tv_sec + usage.ru_stime.tv_usec / 1000000.;
334335

335-
double *t = new double[3];
336+
double *t = new double[4];
336337
t[0] = userEnd - mUserStart;
337338
t[1] = sysEnd - mSysStart;
338339
t[2] = t[0] + t[1];
340+
t[3] = mWallTime.elapsed() / 1000.;
339341
mTimes.append( t );
340342
}

tests/bench/qgsbench.h

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -23,6 +23,7 @@
2323
#include <QMap>
2424
#include <QPainter>
2525
#include <QString>
26+
#include <QTime>
2627
#include <QVariant>
2728
#include <QVector>
2829

@@ -81,6 +82,7 @@ class QgsBench : public QObject
8182

8283
double mUserStart;
8384
double mSysStart;
85+
QTime mWallTime; // 'wall clock' time
8486

8587
// user, sys, total times
8688
QVector<double*> mTimes;

0 commit comments

Comments
 (0)