diff options
Diffstat (limited to 'client/time-stat.c')
-rw-r--r-- | client/time-stat.c | 34 |
1 files changed, 34 insertions, 0 deletions
diff --git a/client/time-stat.c b/client/time-stat.c new file mode 100644 index 0000000..c18daa5 --- /dev/null +++ b/client/time-stat.c @@ -0,0 +1,34 @@ +#include <math.h> +#include "time-stat.h" + +static struct timespec start_time; + +int start_timer(void) +{ + int r; + r = clock_gettime(CLOCK_REALTIME, &start_time); + + if (r == 0) + return 1; + else + return 0; +} + +long int stop_timer(void) +{ + struct timespec end_time; + int r; + double milliseconds = 0.0; + + r = clock_gettime(CLOCK_REALTIME, &end_time); + + if (r == 0) { + milliseconds = 1000.0 * (end_time.tv_sec - start_time.tv_sec) + + (end_time.tv_nsec - start_time.tv_nsec) / 1000000.0; + } + start_time.tv_sec = 0; + start_time.tv_nsec = 0; + + return lround(milliseconds); +} + |