timeit.h 660 B

1234567891011121314151617181920
  1. #include <time.h>
  2. #include <sys/time.h>
  3. #define INIT_TIMEIT(flags) \
  4. struct timespec __start, __end; \
  5. double __sdiff = 0, __udiff = 0; \
  6. int __clock_flags = flags
  7. #define START_TIMEIT() clock_gettime(__clock_flags, &__start)
  8. #define END_TIMEIT() \
  9. clock_gettime(__clock_flags, &__end); \
  10. __sdiff += (__end.tv_sec - __start.tv_sec); \
  11. __udiff += (__end.tv_nsec - __start.tv_nsec)
  12. #define GET_TIMEIT() \
  13. __sdiff + __udiff * 1e-9
  14. #define TIMEIT_FORMAT "%lf"