计算机编程语言性能分析
性能分析装饰器
#线条轮廓
导入时间
从functools导入包装
从线条分析器导入LineProfiler
# 查询接口中每行代码执行的时间
def func_line_time(f):
@ wrapps(f)
极好的装饰器(*args,**kwargs):
func_return=f(*args,**kwargs)
lp=LineProfiler()
lp_wrap=lp(f)
lp_wrap(*args,**kwargs)
lp.print_stats()
返回函数_返回
返回装饰器
# cprofile
导入cProfile
导入pstats
导入functools
def do_cProfile(do=False,order='tottime'):
极好的包装器(func):
@ func tools。包装(功能)
def profiled_func(*args,**kwargs):
if do:
profile=cProfile .配置文件()
profile.enable()
结果=func(*args,**kwargs)
profile.disable()
#profile.print_stats()
ps=pstats .统计数据(概况)。sort_stats(顺序)。strip_dirs()
ps.print_stats()
回送结果
else:
结果=func(*args,**kwargs)
回送结果
返回分析函数
返回包装
可视化工具安装
# macos
啤酒安装qcachegrind
啤酒安装graphviz
点安装pyprofi2call tree
https://docs.python.org/zh-cn/3/library/profile.html
https://www.jianshu.com/p/c9287e56f44d
https://zhuanlan.zhihu.com/p/24495603
内容来源网络,如有侵权,联系删除,本文地址:https://www.230890.com/zhan/51632.html