在Python中使用哪个计时更好?time.clock(
)或time.time()
?哪一个提供更高的准确性?
例如:
start = time.clock()
... do something
elapsed = (time.clock() - start)
与
start = time.time()
... do something
elapsed = (time.time() - start)
作为3.3,time.clock()
已被弃用,并且它建议使用time.process_time()
或time.perf_counter()
来代替。
早于2.7,根据时间模块docs:
time.clock()
在Unix上,以秒为单位返回当前处理器时间,以浮点数表示。精度(实际上是“处理器时间”的含义的确切定义)取决于同名C函数的精度,但是无论如何,这是用于基准化Python或计时算法的函数。
在Windows上,此函数将基于Win32函数QueryPerformanceCounter()
返回自第一次调用此函数以来经过的时间(以秒为单位)的浮点数。分辨率通常优于一微秒。
此外,还有用于对代码段进行基准测试的timeit模块。
问题内容: 有时候,我想花点时间运行我的代码的一部分。我已经检查了许多在线站点,并大致看到了两种主要方法。一个正在使用,另一个正在使用。 因此,我编写了一个非常简单的脚本来比较两者: 基本上,它乘以在for循环中打印“ ABC” 100次所需的时间。左边的数字是的结果,右边的数字是: 如您所见,有时time.time更快,有时更慢。哪种方法更好(更准确)? 问题答案: 更准确,原因有以下三个: 它
描述 (Description) 方法clock()将当前处理器时间作为Unix上以秒为单位表示的浮点数返回。 精度取决于同名C函数的精度,但无论如何,这是用于对Python或时序算法进行基准测试的函数。 在Windows ,此函数返回自第一次调用此函数以来经过的挂钟秒,作为浮点数,基于Win32函数QueryPerformanceCounter。 语法 (Syntax) 以下是clock()方法
问题内容: 我可以给它加上浮点数,例如 但是它有多精确?如果我给它 它真的会睡约50毫秒吗? 问题答案: time.sleep函数的准确性取决于你底层操作系统的睡眠准确性。对于非实时操作系统(如普通Windows),你可以睡眠的最小间隔约为10-13毫秒。在最小的10-13毫秒以上的时间里,我已经看到了几毫秒内的准确睡眠。 更新:就像在下面引用的文档中提到的那样,通常以循环方式进行睡眠,以确保在早
问题内容: 我正在Windows上的python中进行编程,想准确地测量函数运行所花费的时间。我已经编写了一个函数“ time_it”,该函数需要另一个函数,然后运行它并返回运行时间。 我称其为1000次并取平均值。(最后的1000常数以毫秒为单位给出答案。) 该函数似乎可以正常工作,但是我有一种na不安的感觉,那就是我做错了什么,通过这种方式,我花的时间比函数运行时实际花费的时间更多。 有没有更
虽然我真的很喜欢LibGDX Box2d魔法,但在我的第一个项目中调整一切是很痛苦的。 我现在面临的问题是,即使我的sprite和DebugRenderer对齐,但当我触摸屏幕(在Nexus 5上测试)时,我得到了错误的坐标。 第一个例子——蓝点是触摸点 在这张图中,我触摸的是形状外部,但我得到的坐标实际上在形状内部,因此测试点返回true: 第二个例子-蓝点是接触点 在这张图像中,我触摸到了形状
描述 (Description) 方法time()将时间作为以UTC为单位以秒为单位表示的浮点数返回。 Note - 即使始终将时间作为浮点数返回,并非所有系统都提供精度高于1秒的时间。 虽然此函数通常返回非递减值,但如果在两次调用之间设置了系统时钟,则它可以返回比先前调用更低的值。 语法 (Syntax) 以下是time()方法的语法 - time.time() 参数 (Parameters)