在Python中,确定每行代码执行多长时间的最佳方法是什么?

时间:2013-03-09 00:57:54

标签: python performance

对于任何特定的代码,有没有办法轻松分解每行执行的时间?

4 个答案:

答案 0 :(得分:2)

在shell中,您可以将cProfile模块作为脚本运行:

python -m cProfile nameofscriptfile.py

答案 1 :(得分:2)

import timeit

timeit.timeit("5+3")

答案 2 :(得分:2)

Python代码按原样执行,您输入的程序将编译为优化的中间格式。因此,相同的线可以根据周围的线条采取不同的时间。此外,Python对其数据进行了复杂的操作,操作所需的时间取决于处理的确切值。

答案 3 :(得分:1)

这是一种快速而又肮脏的方式。

步骤1.运行它并以秒为单位获得端到端的总体时间。如果它真的很快,请在它周围包裹一个临时外环,使其至少需要几秒钟。

步骤2.获取一堆随机时间堆栈样本as in this example。 如果运行时间很短,则可以在多次运行中执行此操作。

您感兴趣的任何一行都出现在部分样本中。 例如,如果它出现在10个样本中的3个,这意味着在整个时间的30%(大致)期间,该语句正在执行。