4

我编写了一个 Python 脚本,但运行它所花费的时间比我预期的要长得多,而且我没有明显的候选者在脚本中占用运行时的特定行。

有什么我可以在我的代码中输入的内容来检查每行运行需要多长时间?

非常感谢。

4

3 回答 3

6

你试过用分析运行 python 吗?

python -m cProfile --sort cumulative your_single_thread_script.py &> out.log

您可以在此问题中找到更多详细信息How can you profile a python script?

您可以在此处阅读有关分析实用程序的更多信息。

于 2013-06-26T07:49:35.403 回答
4

使用分析器,例如hotshot。这很简单!

1)使用配置文件运行您的代码:

import hotshot

prof = hotshot.Profile("hotshot_stats.prof")
prof.runcall(my_function)
prof.close()

2)读取结果文件:

from hotshot import stats

s = stats.load("hotshot_stats.prof")
s.strip_dirs()
s.sort_stats('time', 'calls')
s.print_stats(20)
于 2013-06-26T07:53:36.367 回答
3

timeit是一个标准模块,因为 python 2.3 看看它的文档。

于 2013-06-26T07:49:31.540 回答