# Last edited on 1999-03-31 00:03:32 by stolfi # Variant of read_clock that gets the CPU time from getrusage() # instead of times() void read_clock(double *etime, double *ptime) { struct tms buf; clock_t et; double tck; et = times(&buf); tck = (double)sysconf(_SC_CLK_TCK); affirm(tck != 0, "bad tck!"); (*etime) = ((double) et)/tck; { struct rusage ru; double psec, pusec; int s = getrusage(RUSAGE_CHILDREN, &ru); check_return(s == 0, "getrusage failed"); psec = (double) ru.ru_utime.tv_sec; pusec = (double) ru.ru_utime.tv_usec; (*ptime) = psec + pusec/1000000.0; } }