@@ -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
327328void 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}
0 commit comments