@@ -230,8 +230,12 @@ class KittiDemo
230
230
231
231
// iterate over all frames in specified sequences
232
232
KittiLoader kitti_loader;
233
+ std::vector<double > execution_durations (0 );
233
234
for (const std::string& sequence : sequences)
234
235
{
236
+ // store start timestamp in order to measure time
237
+ auto timing_start = std::chrono::steady_clock::now ();
238
+
235
239
// sequence path
236
240
uint16_t sequence_index = std::stoi (sequence);
237
241
Path sequence_folder{root_folder / Path (KittiLoader::padWithZeros (sequence_index, 2 ))};
@@ -412,6 +416,11 @@ class KittiDemo
412
416
// also evaluate final frame
413
417
if (evaluate)
414
418
evaluatePreviousFrame ();
419
+
420
+ std::chrono::duration<double > execution_duration = std::chrono::steady_clock::now () - timing_start;
421
+ execution_durations.push_back (execution_duration.count ());
422
+ std::cout << " Execution time: " << std::fixed << std::setprecision (5 ) << execution_duration.count ()
423
+ << std::endl;
415
424
}
416
425
417
426
std::string output = evaluation.generateEvaluationResults ();
@@ -420,6 +429,10 @@ class KittiDemo
420
429
std::ofstream evaluation_results;
421
430
evaluation_results.open (" evaluation_results.txt" );
422
431
evaluation_results << output;
432
+ evaluation_results << std::endl << std::endl << " Execution Duration per Sequence:" << std::endl;
433
+ for (int i = 0 ; i < execution_durations.size (); i++)
434
+ evaluation_results << " Sequence " << sequences[i] << " : " << std::fixed << std::setprecision (5 )
435
+ << execution_durations[i] << std::endl;
423
436
evaluation_results.close ();
424
437
}
425
438
0 commit comments