timer.h
上传用户:sunbaby
上传日期:2013-05-31
资源大小:242k
文件大小:1k
源码类别:

mpeg/mp3

开发平台:

Visual C++

  1. #ifndef _TIMER_H_
  2. #define _TIMER_H_
  3. #include "portab.h"
  4. typedef struct  
  5. {
  6.     int64_t all;
  7.     int64_t start;
  8.     int64_t overhead;
  9. } timer_st;
  10. #ifdef ENABLE_PROFILE
  11. static __inline void
  12. start_timer(timer_st* t)
  13. {
  14.     t->start = read_counter();
  15. }
  16. static __inline void
  17. stop_timer_all(timer_st* t)
  18. {
  19.     t->all += read_counter() - t->start - t->overhead;
  20. }
  21. static __inline void 
  22. init_timer(timer_st* t)
  23. {
  24.     memset(t, 0, sizeof(*t));
  25.     start_timer(t);
  26.     t->overhead = read_counter() - t->start;
  27. }
  28. #else // ENABLE_PROFILE
  29. static __inline void
  30. start_timer(timer_st* t)
  31. {
  32. }
  33. static __inline void
  34. stop_timer_all(timer_st* t)
  35. {
  36. }
  37. static __inline void 
  38. init_timer(timer_st* t)
  39. {
  40. }
  41. #endif
  42. #endif