GPS vs NIST which should I trust?


I had an NTP server sync with, which claimed sync with GPS and has about 10~30 ms error with NIST
Meanwhile Apple, Google’ s NTP server only has <1ms error.
But some guys at forum says GPS is better than NIST.
Which time source should I trust?

My test code is here.

And My test result:
offsetToNIST, offset time,28.655746ms,26.759582ms,29.008967ms,22.483205ms,302.125µs,154.277µs,942.302µs,128.849µs,150.666µs,46.247µs,263.644µs,196.309µs,28.467µs,25.598556ms,29.037168ms,14.518584ms,0s,1.146204ms,0s,0s,0s,0s,14.320869ms,26.738995ms,26.47347ms,26.599685ms,28.720771ms,66.609µs,129.603µs,438.115µs,-91.208µs,121.155µs,-142.25µs,61.033µs,81.492µs,-171.77µs


hi mengzhuo

I can’t answer this question. And I don’t want to answer because it would be definitely wrong in some situations.

But you should take care of some aspects:

  • What is the delay ( RTT ) to the remote server
  • What is the jitter to this server
  • Is this just a snapshot or is this a long term average.

I am running three stratum 1 server ( DCF77, GPS and atomic rubidium based )
As reference I use BEV ( Bundesamt fuer Eich und Vermessungswesen ). This is a government in Austria and official responsible for time. They offer three stratum 1 server. If I do a 10 day average compare between my GPS based server and BEV I see sometimes a positive drift using a calculation with a polynomial of first degree but a negative drift using a calculation with a polynomial of second degree.

So what should I trust in this 10 day period ? But over long time they identical in a certain range.

Kind regards


If the aliyun time servers are well run, the difference is likely because of an asymmetric network route to and from those servers from your network.

For NTP in general you can only trust (or not) the responses from the server as they arrive on your system. It doesn’t matter much how that server syncs compared to how well it’s managed, the network path between their network and yours, etc.

During the last leap second we saw some “national time reference” servers that didn’t implement it right and were off by a second for a while (oops!).