title: Comparing System.nanoTime() values resulting from different machines
body: <p>Is it correct to compare two values resulting from a call to System.nanoTime() on two different machines? I would say no because System.nanoTime() returns a nanosecond-precise time relative to some arbitrary point time by using the <a href="http://en.wikipedia.org/wiki/Time_Stamp_Counter" rel="noreferrer">Time Stamp Counter (TSC)</a> which is processor dependent.</p>
  
  <p>If I am right, is there a way (in Java) to capture an instant on two different machines and to compare (safely) these values with at least a microsecond precision or even nanotime precision?</p>
  
  <p>System.currentTimeMillis() is not a solution because it is not returning a linearly increasing number of time stamps. The user or services such as NTP can change the system clock at any time and the time will leap back and forward.</p>