python

时间:2015-07-20 20:55:00

标签: python string time timer compare

我正在尝试构建一个与时间差很小的程序,我需要一种非常准确的方法来了解语句花了多少时间。 当我使用time.time()时,即使有数百个字符,它也显示我需要0.0。 (我测量time.time()之前和之后然后减去)。 我检查了python是否将char或char字符串char与此代码进行比较:

time1 = time.time()
print s1 == s2
print (time.time() - time1)
time2 = time.time()
print s1 == s3
print time.time() - time2

(当s1,s2,s3是非常长的字符串时,s2与s1相同但最后一个字符不同,s3与s3相同,只是第一个字符不同) 但我处理的情况是一个大约10个字符的字符串,有时甚至更少,我需要知道将它与其他东西进行比较所需的时间。 有什么帮助吗?

编辑: time.clock()对我很有用 - 它比time.time()(在Windows上)更准确

1 个答案:

答案 0 :(得分:1)

您想要time.perf_counter()

  

具有最高可用分辨率的时钟来测量短持续时间

timeit.default_timer()在Python 3上使用它。在Python 2上,它在Windows上调用time.clock(),在其他系统调用time.time()

time.clock()time.perf_counter()都在Windows上使用QueryPerformanceCounter(),因此您可以在Windows上的Python 2和3上使用timeit.default_timer()

time.perf_counter() (via pymonotonic(NULL))在Linux上调用clock_gettime(CLOCK_HIGHRES),在OS X调用mach_absolute_time()。您可以call clock_gettime() using ctypes on Python 2 too(或找到为您执行此操作的后端)。

相关问题