CPU tick counter

#define rdtscll(val) \
__asm__ __volatile__ ("rdtsc" : "=A" (val))

example

#include<stdio.h>
int i;
unsigned long e;
#define as(p) \
__asm__ __volatile__ (p)
#define rdtscll() \
as("rdtsc")
int main(void)
{
	rdtscll();
	as("movl %eax,%ecx");
	rdtscll();
	as("subl %ecx,%eax");
	as("movl %eax,e");
	printf("duration:%lld\n", e);
	return 0;
}

  

posted @ 2015-01-01 23:11  zball  阅读(397)  评论(0编辑  收藏  举报