0

我有一个程序说:

for i in xrange(10):
    for p in xrange(10):
        print i, p

我希望能够以毫秒为单位打印程序在程序结束时执行的时间。

4

4 回答 4

4

运行您的程序python -m timeit -s 'import my_module' 'my_module.do_stuff()'以查看运行时间信息。

根据timeit 文档,只是滚动你自己的有点棘手,所以它是为你提供的。

于 2012-07-29T04:54:49.453 回答
3

尽管我更喜欢@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
于 2012-07-29T04:56:30.313 回答
1

我写了一个小片段,可以让您使用上下文管理器测量经过的时间。看看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.clockWindows 平台)来测量块的挂钟时间。

于 2012-07-29T08:19:15.880 回答
0

查看time.clock()函数(http://docs.python.org/library/time.html

于 2012-07-29T04:53:48.503 回答