Go 的 time 包声称可以提供纳秒级的精度。 http://golang.org/src/pkg/time/time.go
我想知道它是如何实现的,我是否可以信任它。我的疑虑来自 Python,它清楚地记录了它随着时间的推移而遇到的困难和局限性:
来自http://docs.python.org/2/library/time.html
各种实时函数的精度可能低于表达它们的值或参数的单位所建议的精度。例如,在大多数 Unix 系统上,时钟每秒只“滴答”50 或 100 次。
另一方面,time() 和 sleep() 的精度优于 Unix 等效项:时间以浮点数表示,time() 返回可用的最准确时间(在可用的情况下使用 Unix gettimeofday()),以及sleep() 将接受一个非零分数的时间(Unix select() 用于实现这一点,如果可用)。
既然操作系统给 python 带来了如此困难的时间,那么 Go 是如何实现其纳秒精度的呢?