Changeset 68873b in git for factory/timing.h
- Timestamp:
- Mar 27, 1997, 11:23:55 AM (27 years ago)
- Branches:
- (u'spielwiese', '17f1d200f27c5bd38f5dfc6e8a0879242279d1d8')
- Children:
- 0bf9a278ad124abbaeec36c7244965e8baa71238
- Parents:
- 7cebcbc39bd6be777d7bcda54de8ff5a5e031cf6
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
factory/timing.h
r7cebcb r68873b 1 1 /* emacs edit mode for this file is -*- C++ -*- */ 2 /* $Id: timing.h,v 1. 1 1996-12-06 14:49:07schmidt Exp $ */2 /* $Id: timing.h,v 1.2 1997-03-27 10:23:55 schmidt Exp $ */ 3 3 4 4 /* 5 5 $Log: not supported by cvs2svn $ 6 Revision 1.1 1996/12/06 14:49:07 schmidt 7 Initial revision 8 6 9 * Revision 1.0 1996/05/17 10:59:37 stobbe 7 10 * Initial revision … … 10 13 11 14 /* It should be possible to include this file multiple times for different */ 12 /* settings of NDEBUG */15 /* settings of TIMING */ 13 16 14 17 #undef TIMING_START 15 18 #undef TIMING_END 19 #undef TIMING_END_AND_PRINT 16 20 #undef TIMING_DEFINE_PRINT 17 21 #undef TIMING_DEFINE_PRINTPROTO … … 21 25 #include <time.h> 22 26 #include <sys/times.h> 23 #include <iostream.h> 27 #include <sys/param.h> 28 #include <stdio.h> 29 30 // need to be adjusted on your machine: 31 // the number of ticks per second: HZ 32 #if ! defined (HZ) && defined (CLOCKS_PER_SEC) 33 #define HZ CLOCKS_PER_SEC 34 #endif 35 #if ! defined (HZ) && defined (CLK_TCK) 36 #define HZ CLK_TCK 37 #endif 38 #ifndef HZ 39 #ifdef sun 40 #define HZ 60.0 41 #else 42 #define HZ 100.0 43 #endif 44 #endif 45 24 46 #define TIMING_START(t) { struct tms timing_ ## t ## _start, timing_ ## t ## _end; \ 25 47 times( &timing_ ## t ## _start ); 26 48 #define TIMING_END(t) times( &timing_ ## t ## _end ); \ 27 49 timing_ ## t ## _time += timing_ ## t ## _end.tms_utime - timing_ ## t ## _start.tms_utime; } 50 #define TIMING_END_AND_PRINT(t, msg) times( &timing_ ## t ## _end ); \ 51 fprintf( stderr, "%s%.2f sec\n", msg, \ 52 float( timing_ ## t ## _end.tms_utime - timing_ ## t ## _start.tms_utime ) / HZ ); \ 53 timing_ ## t ## _time += timing_ ## t ## _end.tms_utime - timing_ ## t ## _start.tms_utime; } 28 54 #define TIMING_DEFINE_PRINT(t) long timing_ ## t ## _time; \ 29 void timing_print_ ## t ( char * msg ) { cerr.setf( ios::fixed, ios::floatfield ); cerr.precision(2);\30 cerr << msg << float(timing_ ## t ## _time) / CLK_TCK << " sec" << endl; }31 #define TIMING_PRINT(t,msg) timing_print_ ## t ( msg ); 55 void timing_print_ ## t ( char * msg ) { \ 56 fprintf( stderr, "%s%.2f sec\n", msg, float(timing_ ## t ## _time) / HZ ); \ 57 } 32 58 #define TIMING_DEFINE_PRINTPROTO(t) void timing_print_ ## t ( char * ); 33 #else 59 #define TIMING_PRINT(t, msg) timing_print_ ## t ( msg ); 60 #else /* TIMING */ 34 61 #define TIMING_START(t) 35 62 #define TIMING_END(t) 63 #define TIMING_END_AND_PRINT(t, msg) 36 64 #define TIMING_DEFINE_PRINT(t) 37 #define TIMING_PRINT(t,msg)38 65 #define TIMING_DEFINE_PRINTPROTO(t) 66 #define TIMING_PRINT(t, msg) 39 67 #endif /* TIMING */
Note: See TracChangeset
for help on using the changeset viewer.