40 static inline unsigned long long rdtsc()
45 #elif defined(__i386__)
47 static __inline__
unsigned long long rdtsc()
49 unsigned long long int x;
50 __asm__
volatile (
".byte 0x0f, 0x31" :
"=A" (x));
54 #elif defined(__x86_64__)
56 static __inline__
unsigned long long rdtsc()
59 __asm__ __volatile__ (
"rdtsc" :
"=a"(lo),
"=d"(hi));
60 return ( (
unsigned long long)lo)|( ((
unsigned long long)hi)<<32 );
65 static __inline__
unsigned long long rdtsc()
93 unsigned long long start_time;
94 std::vector<ScopeTimerResult> results;
95 unsigned long long end_time;
97 unsigned long long current_start_time;
98 std::vector<ScopeTimerResult> current_results;
99 unsigned long long current_end_time;
142 unsigned long long _start;
145 #define ScopeTimeFunction() ScopeTimer scope_timer(__FUNCTION__);
unsigned long long ticks
Definition: scope_timer.h:78
const char * name
Definition: scope_timer.h:77
Definition: scope_timer.h:104
ScopeTimer()
Definition: scope_timer.h:107
ScopeTimerResult(const char *name, unsigned long long ticks)
Definition: scope_timer.h:75
void start(const char *name)
Definition: scope_timer.h:121
static int percentage(const char *name)
ScopeTimer(const char *name)
Definition: scope_timer.h:111
static void add_result(const ScopeTimerResult &result)
Definition: scope_timer.h:81
void end()
Definition: scope_timer.h:128
Definition: scope_timer.h:72
~ScopeTimer()
Definition: scope_timer.h:116
static std::string timer_results()