获取x86的当前tick总数
int64_t Counter::rdtsc() {
#if defined(__x86_64__)
int64_t ret = 0;
uint32_t high = 0;
uint32_t low = 0;
__asm__ volatile("rdtsc":"=a"(low), "=d"(high));
ret = ((int64_t)high << 32) | low;
return ret;
#elif defined(__i386__)
int64_t ret = 0;
__asm__ volatile("rdtsc": "=A"(ret));
return ret;
#elif defined(__powerpc__)
uint64_t tbl, tbu0, tbu1;
do {
__asm__ volatile("mftbu %0" : "=r"(tbu0));
__asm__ volatile("mftb %0" : "=r"(tbl));
__asm__ volatile("mftbu %0" : "=r"(tbu1));
} while (tbu0 !=