73// 1: new microsecond accurate method for walltime
74// 2: cpu(user+system) time, accurate to 1/CLOCKS_PER_SECOND seconds, not wall time
75// 3: reports user/system and child user/system times (good for understanding if system is eating lot of your time (i.e. HD or net or whatever hardware device run by kernel))
76#if(PERFTEST==1)
77#define TIMEMETHOD 2 // SUPERMARK
78#else
79#define TIMEMETHOD 1 // used for measurements in wall time
80#endif
81
82#else
83// can choose TIMEMETHOD == 0,1,2
84#define TIMEMETHOD 1
85#endif
86
87
88
89// average time to completion is: T= ((zc/s)^{-1}) * (#zones) * (dt/tf) . dt~dx/v -> T~dx^3 for 2D dx^4 for 3D
112#define diffcpuclock(timestop,timestart) ((SFTYPE)(timestop-timestart)/(SFTYPE)(CLOCKS_PER_SEC)) // can't trust above since not taking 64bit totaltick value