Go to the documentation of this file. 8 #undef TIMING_END_AND_PRINT 9 #undef TIMING_DEFINE_PRINT 10 #undef TIMING_DEFINE_PRINTPROTO 15 #if ! defined(WINNT) || defined(__GNUC__) 16 #include <sys/times.h> 17 #include <sys/param.h> 29 #if ! defined (HZ) && defined (CLOCKS_PER_SEC) 30 #define HZ CLOCKS_PER_SEC 32 #if ! defined (HZ) && defined (CLK_TCK) 43 #if defined(WINNT) && ! defined(__GNUC__) 45 #define TIMING_START(t) timing_ ## t ## _start = clock(); 46 #define TIMING_END(t) timing_ ## t ## _end = clock(); \ 47 timing_ ## t ## _time += timing_ ## t ## _end - timing_ ## t ## _start; 48 #define TIMING_END_AND_PRINT(t, msg) times( &timing_ ## t ## _end ); \ 49 fprintf( stderr, "%s%.2f sec\n", msg, \ 50 float( timing_ ## t ## _end - timing_ ## t ## _start ) / HZ ); \ 51 timing_ ## t ## _time += timing_ ## t ## _end - timing_ ## t ## _start; 52 #define TIMING_DEFINE_PRINT(t) static clock_t timing_ ## t ## _start, timing_ ## t ## _end; \ 53 static clock_t timing_ ## t ## _time; \ 54 static void timing_print_ ## t ( char * msg ) { \ 55 fprintf( stderr, "%s%.2f sec\n", msg, float(timing_ ## t ## _time) / HZ ); \ 57 static void timing_reset_ ## t () { \ 58 timing_ ## t ## _time = 0; \ 63 #define TIMING_START(t) times( &timing_ ## t ## _start ); 64 #define TIMING_END(t) times( &timing_ ## t ## _end ); \ 65 timing_ ## t ## _time += timing_ ## t ## _end.tms_utime - timing_ ## t ## _start.tms_utime; 66 #define TIMING_END_AND_PRINT(t, msg) times( &timing_ ## t ## _end ); \ 67 fprintf( stderr, "%s%.2f sec\n", msg, \ 68 float( timing_ ## t ## _end.tms_utime - timing_ ## t ## _start.tms_utime ) / HZ ); \ 69 timing_ ## t ## _time += timing_ ## t ## _end.tms_utime - timing_ ## t ## _start.tms_utime; 70 #define TIMING_DEFINE_PRINT(t) static struct tms timing_ ## t ## _start, timing_ ## t ## _end; \ 71 static long timing_ ## t ## _time; \ 72 static void timing_print_ ## t ( char * msg ) { \ 73 fprintf( stderr, "%s%.2f sec\n", msg, float(timing_ ## t ## _time) / HZ ); \ 75 static void timing_reset_ ## t () { \ 76 timing_ ## t ## _time = 0; \ 81 #define TIMING_DEFINE_PRINTPROTO(t) void timing_print_ ## t ( char * ); \ 82 void timing_reset_ ## t (); 83 #define TIMING_PRINT(t, msg) timing_print_ ## t ( msg ); 84 #define TIMING_RESET(t) timing_reset_ ## t (); 87 #define TIMING_START(t) 89 #define TIMING_END_AND_PRINT(t, msg) 90 #define TIMING_DEFINE_PRINT(t) 91 #define TIMING_DEFINE_PRINTPROTO(t) 92 #define TIMING_PRINT(t, msg) 93 #define TIMING_RESET(t)