long long readTSC (void) { long long t; asm volatile (".byte 0x0f,0x31" : "=A" (t)); return t; } double dtime() { return (double) readTSC(); }