Python 中 cprofile 性能监视
#!/usr/bin/env python
# -*-coding:UTF-8-*-
# @Time: 2017/7/4 14:16
# @Author: en:zhu jin
# @File: performanceanalyse.py
# Description: None
import sys
from cProfile import Profile
import pstats
# class Profile_Decorator(object):
# def __init__(self,out_file, fn):
# self.fn = fn
# if out_file is None or out_file == "":
# out_file = r"D:\result.out"
# self.out_file = out_file
# def __call__(self,*args,**kwargs):
# prof = Profile()
# result = prof.runcall(self.fn,args,kwargs)
# prof.dump_stats(self.out_file)
# p = pstats.Stats(self.out_file)
# p.strip_dirs().sort_stats(-1).print_stats()
def Profile_Decorator(out_file=r'D:\result.out'):
def wrapper(fn):
def fun(*args, **kw):
prof = Profile()
result = prof.runcall(fn,*args,**kw)
prof.dump_stats(out_file)
p = pstats.Stats(out_file)
p.strip_dirs().sort_stats(-1).print_stats()
return result
return fun
return wrapper
@Profile_Decorator()
def test(*args,**kwargs):
return args
@Profile_Decorator()
def test2(args1,args2):
return args1 + args2
def ParamAssign (Func):
def AddedProc (*args,**kwds):
res = Func(*args,**kwds)
return res
return AddedProc
@ParamAssign
def Proc (input1,input2):
print('processing, input: '+input1+', input2: '+input2)
if __name__ == '__main__':
Proc('234','32423')
print test(200,100,120)
print test2(100,134)
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
上一篇: Vue 中的 v-text 指令
下一篇: JavaScript 集合的方法
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论