#ifndef MODPERL_TIME_H #define MODPERL_TIME_H #ifdef HZ # define MP_HZ HZ #else # define MP_HZ 100 #endif #ifdef MP_TRACE #define dMP_TIMES \ struct tms start_time; \ struct tms end_time #else #define dMP_TIMES dNOOP #endif #define MP_START_TIMES() \ MP_TRACE_t_do((void)PerlProc_times(&start_time)) #define MP_END_TIMES() \ MP_TRACE_t_do((void)PerlProc_times(&end_time)) #define MP_PRINT_TIMES(label) \ MP_TRACE_t_do({ \ double utime = \ (double)(end_time.tms_utime - start_time.tms_utime)/MP_HZ; \ double stime = \ (double)(end_time.tms_stime - start_time.tms_stime)/MP_HZ; \ if (utime || stime) { \ MP_TRACE_t(MP_FUNC, "%s %5.2f user %5.2f sys\n", \ label, utime, stime); \ } \ }) #endif /* MODPERL_TIME_H */