python time.time() python 2 对 3 的差异
python time.time() differences in python 2 vs 3
我想知道为什么 python 2.7
在 运行 time.time()
中使用 gettimeofday()
但在 python 3.4
中却没有?
当运行 strace 出现时可能正在查询/etc/localtime
Python 3 将在编译时检测到您的系统支持此功能时使用gettimeofday()
。但是,在 POSIX 系统上,它只会在 clock_gettime(CLOCK_REALTIME)
is not available instead; according to the POSIX 2008 standard 时使用后者,因为 gettimeofday()
被认为已过时。
在运行时,您可以使用 time.get_clock_info()
function 查询 Python 认为您的系统在编译时可以支持的内容,其中 returns 一个带有 implementation
字段:
implementation: The name of the underlying C function used to get the clock value
在我的 OSX 10.11 系统上,'time'
时钟产生 gettimeofday()
:
>>> time.get_clock_info('time').implementation
'gettimeofday()'
您可以通读 pygettimeofday()
C implementation 以查看可能使用的实现; on Windows GetSystemTimeAsFileTime()
用于示例。
我想知道为什么 python 2.7
在 运行 time.time()
中使用 gettimeofday()
但在 python 3.4
中却没有?
当运行 strace 出现时可能正在查询/etc/localtime
Python 3 将在编译时检测到您的系统支持此功能时使用gettimeofday()
。但是,在 POSIX 系统上,它只会在 clock_gettime(CLOCK_REALTIME)
is not available instead; according to the POSIX 2008 standard 时使用后者,因为 gettimeofday()
被认为已过时。
在运行时,您可以使用 time.get_clock_info()
function 查询 Python 认为您的系统在编译时可以支持的内容,其中 returns 一个带有 implementation
字段:
implementation: The name of the underlying C function used to get the clock value
在我的 OSX 10.11 系统上,'time'
时钟产生 gettimeofday()
:
>>> time.get_clock_info('time').implementation
'gettimeofday()'
您可以通读 pygettimeofday()
C implementation 以查看可能使用的实现; on Windows GetSystemTimeAsFileTime()
用于示例。