From f1ca803a9210aef9bb273cfee4260cd13a453917 Mon Sep 17 00:00:00 2001 From: Francois Fleuret Date: Wed, 19 Dec 2012 17:21:49 +0100 Subject: [PATCH] Now measures the elapsed time more precisely with gettimeofday. --- mtp.cc | 21 ++++++++++++++------- 1 file changed, 14 insertions(+), 7 deletions(-) diff --git a/mtp.cc b/mtp.cc index 36f09f1..61dcc21 100644 --- a/mtp.cc +++ b/mtp.cc @@ -24,13 +24,20 @@ #include #include +#include using namespace std; #include "mtp_tracker.h" +scalar_t diff_in_second(struct timeval *start, struct timeval *end) { + return + scalar_t(end->tv_sec - start->tv_sec) + + scalar_t(end->tv_usec - start->tv_usec)/1000000; +} + int main(int argc, char **argv) { - time_t start_time, end_time; + timeval start_time, end_time; if(argc < 2) { cerr << argv[0] << " " << endl; @@ -47,16 +54,16 @@ int main(int argc, char **argv) { tracker->read(in_tracker); cout << "Building the graph ... "; cout.flush(); - start_time = time(0); + gettimeofday(&start_time, 0); tracker->build_graph(); - end_time = time(0); - cout << "done (" << end_time - start_time << "s)." << endl; + gettimeofday(&end_time, 0); + cout << "done (" << diff_in_second(&start_time, &end_time) << "s)." << endl; cout << "Tracking ... "; cout.flush(); - start_time = time(0); + gettimeofday(&start_time, 0); tracker->track(); - end_time = time(0); - cout << "done (" << end_time - start_time << "s)." << endl; + gettimeofday(&end_time, 0); + cout << "done (" << diff_in_second(&start_time, &end_time) << "s)." << endl; ofstream out_traj("result.trj"); tracker->write_trajectories(&out_traj); -- 2.20.1