我有一个程序说:
for i in xrange(10):
for p in xrange(10):
print i, p
我希望能够以毫秒为单位打印程序在程序结束时执行的时间。
我有一个程序说:
for i in xrange(10):
for p in xrange(10):
print i, p
我希望能够以毫秒为单位打印程序在程序结束时执行的时间。
运行您的程序python -m timeit -s 'import my_module' 'my_module.do_stuff()'
以查看运行时间信息。
根据timeit
文档,只是滚动你自己的有点棘手,所以它是为你提供的。
尽管我更喜欢@Julian 的方法,但您可以在 python 代码中执行以下操作,只是提供此方法作为替代方案:
from timeit import timeit
def foo():
for i in xrange(10):
for p in xrange(10):
print i, p
print timeit(setup='from __main__ import foo', stmt='foo()') # returns float of seconds taken to run
我写了一个小片段,可以让您使用上下文管理器测量经过的时间。看看https://github.com/BaltoRouberol/timer-context-manager
例子:
from timer import Timer
with Timer() as t:
# Some code we want to time
print t.elapsed_ms # elapsed time, in milliseconds
它使用timeit.default_timer
(平台特定的计时器功能:time.time
适用于 Unix 平台和 time.clock
Windows 平台)来测量块的挂钟时间。
查看time.clock()
函数(http://docs.python.org/library/time.html)