我想知道为什么python 2.7在运行time.time()时使用gettimeofday(),但在python 3.4中却不使用?
当运行strace时,它可能正在查询/etc/localtime
发布于 2016-07-22 19:50:04
当您的系统被检测到时,Python3将使用gettimeofday()在编译时支持这一点。但是,在POSIX系统上,只有当clock_gettime(CLOCK_REALTIME)不可用时才会使用;根据POSIX 2008标准,后者是首选的,因为gettimeofday()被认为是过时的。
在运行时,您可以通过使用函数查询Python认为您的系统在编译时可以支持什么,它返回一个带有implementation字段的namedtuple实例:
实现:用于获取时钟值的底层C函数的名称
在我的OSX10.11系统上,对于'time'时钟,它产生gettimeofday()
>>> time.get_clock_info('time').implementation
'gettimeofday()'您可以通过C执行情况阅读以查看可以使用哪些实现;例如,在Windows上使用GetSystemTimeAsFileTime()。
https://stackoverflow.com/questions/38533756
复制相似问题