#include #include "timer.h" struct _Timer { struct timeval start; struct timeval end; }; Timer * timer_new (void) { Timer *t = (Timer *) malloc (sizeof (Timer)); return t; } void timer_destroy (Timer *t) { free (t); } void timer_start (Timer *t) { gettimeofday (&t->start, NULL); } void timer_stop (Timer *t) { gettimeofday (&t->end, NULL); } double timer_get_seconds (Timer *t) { long seconds = t->end.tv_sec - t->start.tv_sec; long useconds = t->end.tv_usec - t->start.tv_usec; return seconds + useconds / 1000.0 / 1000.0; }