|
@@ -1,18 +1,22 @@
|
|
|
|
+#include <time.h>
|
|
#include <sys/time.h>
|
|
#include <sys/time.h>
|
|
|
|
|
|
-#define INIT_TIMEIT() \
|
|
|
|
- struct timeval __start, __end; \
|
|
|
|
- double __sdiff = 0, __udiff = 0
|
|
|
|
|
|
+#define INIT_TIMEIT(flags) \
|
|
|
|
+ struct timespec __start, __end; \
|
|
|
|
+ double __sdiff = 0, __udiff = 0; \
|
|
|
|
+ int __clock_flags = flags
|
|
|
|
|
|
-#define START_TIMEIT() \
|
|
|
|
- gettimeofday(&__start, NULL)
|
|
|
|
|
|
+#define START_TIMEIT() clock_gettime(__clock_flags, &__start)
|
|
|
|
|
|
#define END_TIMEIT() \
|
|
#define END_TIMEIT() \
|
|
- gettimeofday(&__end, NULL); \
|
|
|
|
|
|
+ clock_gettime(__clock_flags, &__end); \
|
|
__sdiff += (__end.tv_sec - __start.tv_sec); \
|
|
__sdiff += (__end.tv_sec - __start.tv_sec); \
|
|
- __udiff += (__end.tv_usec - __start.tv_usec)
|
|
|
|
|
|
+ __udiff += (__end.tv_nsec - __start.tv_nsec)
|
|
|
|
|
|
#define GET_TIMEIT() \
|
|
#define GET_TIMEIT() \
|
|
- __sdiff + __udiff * 1e-6
|
|
|
|
|
|
+ __sdiff + __udiff * 1e-9
|
|
|
|
|
|
#define TIMEIT_FORMAT "%lf"
|
|
#define TIMEIT_FORMAT "%lf"
|
|
|
|
+
|
|
|
|
+
|
|
|
|
+#define INIT_CLOCK
|