22 lines
No EOL
690 B
C++
22 lines
No EOL
690 B
C++
#include <iostream>
|
|
|
|
inline unsigned long getTimestamp(){
|
|
unsigned long hi,lo;
|
|
asm ("rdtsc": "=a" (lo), "=d" (hi) );
|
|
return ((unsigned long) lo ) | ((unsigned long) hi << 32);
|
|
}
|
|
|
|
inline unsigned long getTimestampVolatile(){
|
|
unsigned hi,lo;
|
|
asm volatile("rdtsc": "=a" (lo), "=d" (hi) );
|
|
return ((unsigned long) lo )| ((unsigned long) hi << 32);
|
|
}
|
|
|
|
int main(void){
|
|
unsigned long t1=getTimestamp();
|
|
unsigned long t2=getTimestamp();
|
|
std::cout << "Hello 1 -- " << t1 <<std::endl;
|
|
std::cout << "Hello 2 -- " << t2 <<std::endl;
|
|
//std::cout << "Hello 3 -- " << getTimestamp() <<std::endl;
|
|
//std::cout << "Hello 4 -- " << getTimestamp() <<std::endl;
|
|
} |