到目前为止,当我想检查什么可能导致某些代码比非常类似的方法运行得更快时,我使用dis
模块。然而,比较原因基本上是添加/删除线的进一步步骤。
是否有更复杂的实际列出高犯罪者的方式?
答案 0 :(得分:1)
您想要分析哪种代码?如果你想分析纯python代码。您可以使用profile
。例如:
import cProfile
cProfile.run("x=1")
或者你可以运行一个功能:cProfile.run("function()")
然后它会显示如下内容:
4 function calls in 0.013 seconds
Ordered by: standard name
ncalls tottime percall cumtime percall filename:lineno(function)
1 0.013 0.013 0.013 0.013 <ipython-input-7-8201fb940887>:1(fun)
1 0.000 0.000 0.013 0.013 <string>:1(<module>)
1 0.000 0.000 0.013 0.013 {built-in method builtins.exec}
1 0.000 0.000 0.000 0.000 {method 'disable' of '_lsprof.Profiler' objects}