对于任何特定的代码,有没有办法轻松分解每行执行的时间?
答案 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%(大致)期间,该语句正在执行。