如何找出在特定模块中花费的总时间?

时间:2013-07-13 09:06:28

标签: python

基本上我想知道,在给定的函数调用中,在特定模块中花费了多少时间,包括其他模块中的函数的子调用。关于如何实现这样的事情的任何建议?

例如:

# foo.py

import bar

@time(bar)
def foo():

    ...
    bar.qux()
    ...
    bar.foobar()

# bar.py
import foofoo
import barbar

def qux():

    ...
    foofoo.foo()
    ...

def foobar():

    ...
    barbar.bar()
    ...

调用foo中的foo.py应该返回bar模块(bar.py)内部花费的总时间,在上述情况下应该包括barbar内部花费的时间foofoo 1}}和{{1}}。

2 个答案:

答案 0 :(得分:4)

您正在寻找的是剖析器。请阅读此处了解更多信息:

How can you profile a python script?

http://docs.python.org/2/library/profile.html

答案 1 :(得分:-1)

import timeit
help (timeit)