这是一个通用的问题。
我编写了一段使用tensorflow进行计算的代码。
我想打印执行代码期间消耗的时间。
首先我用过:
import time
start = time.time()
main()
print ("%s" % (time.time() - start_time))
但我读到这是衡量执行时间的不准确方法。
如何准确测量程序的执行时间。
答案 0 :(得分:7)
使用time.perf_counter()
。 perf_counter
是一个"效果计数器"。它是从平台上可用的未定义起点(通常自程序开始运行)开始的最高分辨率时间。当从后续呼叫中减去时,它用于衡量性能的事物。它在几秒钟内就浮起了。
time.time()
是Unix时代(1970年1月1日)以来的秒数,可能不会比一秒钟更准确。
您可以安全地将time.time()
的来电替换为time.perf_counter()
,因为您要减去它们。
import time
start = time.perf_counter()
main()
elapsed = time.perf_counter() - start
print('Elapsed %.3f seconds.' % elapsed)
# The .3f is to round to 3 decimal places.