new_time = (rel_time_t) (time(0) - stats.started);
What is the issue? Time!
No two time calls cost the same.
The difference?
gettimeofday() 14.558
time() 14.664
clock_gettime() 13.958
All of these were compared in a loop. The obvious winner is clock_gettime() though it Linux specific so an ifdef is needed so that other platforms can use gettimeofday().
I suspect it can be made to be faster :)