Mac与Windows中的Pythons time.clock()有什么区别?

Sha*_*ane 1 python macos time

我正在使用Python的时间来衡量Selenium流程的时间范围.我的脚本是这样的......

start_time = time.clock()
...
#ending with
final_time = '{0:.2f}'.format(time.clock()-start_time)
Run Code Online (Sandbox Code Playgroud)

当在Windows操作系统上运行时,我会得到类似的东西55.22但是如果在Mac上运行它会返回类似的东西,.14即使它几乎是同一时间.

知道Mac上发生了什么不同的事情吗?我实际上也会尝试使用Ubuntu以查看差异.

jon*_*rpe 6

根据文档,time.clockUnix(包括Mac OS X)和Windows之间有所不同:

在Unix上,将当前处理器时间返回为以秒为单位的浮点数.精度,实际上是"处理器时间"含义的定义,取决于同名C函数的精度,但无论如何,这是用于对Python或时序算法进行基准测试的函数.

在Windows上,此函数返回自第一次调用此函数以来经过的挂钟秒,作为浮点数,基于Win32函数QueryPerformanceCounter().分辨率通常优于1微秒.

如果您想要跨平台一致性,请考虑time.time.

Doug Hellmann本文中解释了处理器时间挂钟时间之间的差异- 基本上处理器时钟只有在您的流程正在运行时才会推进.