207 |
{ |
{ |
208 |
#ifdef USE_TIMES |
#ifdef USE_TIMES |
209 |
struct tms tms; |
struct tms tms; |
210 |
now->wall = times (&tms) * ticks_to_msec; |
now->wall = times (&tms) * ticks_to_msec; |
211 |
now->user = tms.tms_utime * ticks_to_msec; |
now->user = (tms.tms_utime + tms.tms_cutime) * ticks_to_msec; |
212 |
now->sys = tms.tms_stime * ticks_to_msec; |
now->sys = (tms.tms_stime + tms.tms_cstime) * ticks_to_msec; |
213 |
#endif |
#endif |
214 |
#ifdef USE_GETRUSAGE |
#ifdef USE_GETRUSAGE |
215 |
struct rusage rusage; |
struct rusage rusage; |
216 |
getrusage (RUSAGE_SELF, &rusage); |
getrusage (RUSAGE_SELF, &rusage); |
217 |
now->user = rusage.ru_utime.tv_sec + rusage.ru_utime.tv_usec * 1e-6; |
now->user = rusage.ru_utime.tv_sec + rusage.ru_utime.tv_usec * 1e-6; |
218 |
now->sys = rusage.ru_stime.tv_sec + rusage.ru_stime.tv_usec * 1e-6; |
now->sys = rusage.ru_stime.tv_sec + rusage.ru_stime.tv_usec * 1e-6; |
219 |
|
getrusage (RUSAGE_CHILDREN, &rusage); |
220 |
|
now->user += rusage.ru_utime.tv_sec + rusage.ru_utime.tv_usec * 1e-6; |
221 |
|
now->sys += rusage.ru_stime.tv_sec + rusage.ru_stime.tv_usec * 1e-6; |
222 |
#endif |
#endif |
223 |
#ifdef USE_CLOCK |
#ifdef USE_CLOCK |
224 |
now->user = clock () * clocks_to_msec; |
now->user = clock () * clocks_to_msec; |