Leaked source code of windows server 2003
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 
 
 
 

55 lines
1.5 KiB

//timer.h
#if TIMEIT
#if !defined(TIMEIT_STAMP) || TIMEIT_STAMP
#define TimeStamp(n) TimerStamp(n) //for hands on types
#define TIMER_STAMP(symb) {\
extern const int TimerSymb ## symb ## Stamp; \
extern const int TimerSymb ## TimerOverhead ## Stamp; \
TimerStamp(TimerSymb ## symb ## Stamp);\
TimerStamp(TimerSymb ## TimerOverhead ## Stamp);\
}
void TimerStamp(int n);
#else
#define TIMER_STAMP(s)
#endif //TIMEIT_STAMP
#if !defined(TIMEIT_SPOT) || TIMEIT_SPOT
#define TIMER_SPOT_ON(symb) {\
extern const int TimerSymb ## symb ## Spot; \
TimerSpotOn(TimerSymb ## symb ## Spot);\
}
#define TIMER_SPOT_OFF(symb) {\
extern const int TimerSymb ## symb ## Spot; \
TimerSpotOff(TimerSymb ## symb ## Spot);\
}
void TimerSpotOn(int n);
void TimerSpotOff(int n);
#else
#define TIMER_SPOT_ON(s)
#define TIMER_SPOT_OFF(s)
#endif //TIMEIT_SPOT
#define TIMER_INITIALIZE TimerInitialize()
#define TIMER_ON TimerBegin()
#define TIMER_OFF TimerEnd()
#define TIMER_REPORT(unitString, scale) TimerReport((unitString), (double)(scale), 1.)
void TimerInitialize(void);
void TimerBegin(void);
void TimerEnd(void);
void TimerReport(const char *unitName, double scaleSum, double scaleRatio);
#else
#define TimeStamp(n)
#define TIMER_INITIALIZE
#define TIMER_STAMP(s)
#define TIMER_SPOT_ON(s)
#define TIMER_SPOT_OFF(s)
#define TIMER_ON
#define TIMER_OFF
#define TIMER_REPORT(u,s)
#endif //TIMEIT