source: trunk/lib/perflib/perfsec.h @ 517

Last change on this file since 517 was 517, checked in by cameron, 9 years ago

Wall timer

File size: 1.4 KB
Line 
1#ifndef PERFSEC_H
2#define PERFSEC_H
3
4#if defined(WALL_TIMING)
5#include "WallTime.h"
6#elif defined(BUFFER_PROFILING)
7#include "BOM_Profiler.h"
8#elif defined(CODE_CLOCKER)
9        #include "../cclib/cc.h"
10        #include "../cclib/cc.cxx"     
11#endif
12
13#if defined(WALL_TIMING)
14
15        #define PERF_SEC_INIT(timer) \
16                timer = init_Wall_timer()
17       
18        #define PERF_SEC_START(timer) \
19                start_Wall_interval(timer) 
20       
21        #define PERF_SEC_END(timer,elems) \
22                end_Wall_interval(timer,elems) 
23       
24        #define PERF_SEC_DUMP(timer) \
25                dump_Timer_Table(timer)
26       
27        #define PERF_SEC_DESTROY(timer) \
28                destroy_Wall_timer(timer)       
29       
30#elif defined(BUFFER_PROFILING)
31
32        #define PERF_SEC_INIT(timer) \
33                timer = init_BOM_timer()
34       
35        #define PERF_SEC_START(timer) \
36                start_BOM_interval(timer) 
37       
38        #define PERF_SEC_END(timer,elems) \
39                end_BOM_interval(timer,elems) 
40       
41        #define PERF_SEC_DUMP(timer) \
42                dump_BOM_table(timer)
43       
44        #define PERF_SEC_DESTROY(timer) \
45                destroy_BOM_timer(timer)       
46       
47#elif defined(CODE_CLOCKER)
48
49        #define PERF_SEC_INIT(timer)
50               
51        #define PERF_SEC_START(timer) \
52                timer->start_interval()
53
54        #define PERF_SEC_END(timer,elems) \
55                timer->end_interval(elems)
56       
57        #define PERF_SEC_DUMP(timer) \
58                timer->dump_avg_kelem() \
59               
60        #define PERF_SEC_DESTROY(timer) \
61                if(timer) delete timer
62               
63#else
64
65        #define PERF_SEC_INIT(timer)
66        #define PERF_SEC_START(timer)
67        #define PERF_SEC_END(timer,elems)
68        #define PERF_SEC_DUMP(timer)
69        #define PERF_SEC_DESTROY(timer)
70
71#endif
72#endif
73
Note: See TracBrowser for help on using the repository browser.