// This function computes a time span (double value) // from two struct timespec pointers double timediff(struct timespec *begin, struct timespec *end) { double sec = 0.0, nsec = 0.0; if ((end->tv_nsec - begin->tv_nsec) < 0) { sec = (double)(end->tv_sec - begin->tv_sec - 1); nsec = (double)(end->tv_nsec - begin->tv_nsec + 1000000000); } else { sec = (double)(end->tv_sec - begin->tv_sec ); nsec = (double)(end->tv_nsec - begin->tv_nsec); } return sec + nsec / 1E9; } // Use it like this in mandelbrot_main.cpp printf("Time: %f\n", timediff(&global.start, &global.stop));