traceback
收集错误信息,并打印
import traceback
try:
...#代码块
except Exception as e:
traceback.print_exc()
pyinstrument
代码效率分析,可以分析代码段的执行效率,每个函数的执行时间。
from pyinstrument import Profiler
profiler = Profiler()
profiler.start()
...# 代码块
profiler.stop()
print(profiler.output_text(unicode=True, color=True))
memory_profiler
内存增量分析,可以分析函数代码每一行代码造成的内存增加情况。
from memory_profiler import profile # for debug
@profile(precision=4,stream=open('memory_profiler.log','w+')) # for debug
function():
'''
待测试函数
'''
pass # 占位
tracemalloc
内存分析,可分析代码段间的内存分配情况。用法是一前一后开启两个snapshot,查看前后的差别。
tracemalloc.start()
snapshot1 = tracemalloc.take_snapshot()
... # 代码块
snapshot2 = tracemalloc.take_snapshot()
top_stats = snapshot2.compare_to(snapshot1, 'lineno')
print(top_stats)