我已经编写了一个Python脚本,但是运行它比我预期的要花费的时间要长很多,并且我没有明显的候选人在脚本占用运行时的特殊行。
我可以在代码中添加任何内容来检查每条线路的运行时间吗?
非常感谢。
答案 0 :(得分:6)
您是否尝试过运行python并进行性能分析?
python -m cProfile --sort cumulative your_single_thread_script.py &> out.log
您可以在此问题中找到更多详细信息How can you profile a python script?
您可以阅读有关分析实用程序here的更多信息。
答案 1 :(得分: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)
答案 2 :(得分:3)
timeit
是一个标准模块,因为python 2.3会查看它的文档。