#define rdtscl(low) \
__asm__ __volatile__ ("rdtsc" : "=a" (low) : : "edx")

int getpiddd()
{
	int i=0;
	return i+10;
}

int main(int argc, char **argv) {
	long a,b,c,d;
	int i1,i2,i3;

	rdtscl(a);
	i1 = getpiddd();
	rdtscl(b);
        i2 = getpid();
	rdtscl(c);
	i3 = getpid();
	rdtscl(d);
	printf("function call: %lu first: %lu second: %lu cycles\n",b-a,c-b,d-c);
        return 0;
}
 

