?????????????????????python?????????????????????????????????
????????2?? ???????
?????????????£???????????????????????????????????????????????????????log?? ????print?? ????????????????????鷳??python???????????profile?????profile?? cProfile?? hotshot?? pystats?? ????Щ???????????????????????????????????????????????????????????? python line_profiler ?????????????????????????????????????????ν“?????”?????????? http://pythonhosted.org/line_profiler/
?????????line_profiler????C:Python27Libsite-packages ??????????kernprof.py??????????????????????? @profile?? ???????????
@profile
def create_msg2(self??H??msg):
li = msg.keys()
msg_type=li[0]
ULR_avps=[]
ULR=HDRItem()
ULR.cmd=self.dia.dictCOMMANDname2code(self.dia.MSG_TERM[msg_type])
if msg_type[-1]=='A':
msg=msg[msg_type]
self.dia.setAVPs_by_dic(msg_type??msg??ULR_avps)
ULR.appId=H.appId
ULR.EndToEnd=H.EndToEnd
ULR.HopByHop=H.HopByHop
msg=self.dia.createRes(ULR??ULR_avps)
else:
self.dia.setAVPs(msg_type??msg??ULR_avps)
ULR.appId=self.dia.APPID
self.dia.initializeHops(ULR)
msg=self.dia.createReq(ULR??ULR_avps)
return msg
???????д?????? kernprof.py -l -v D:projectmpsrcprotocolslibdiametermt.py?? ??????????? ??????п???????????setAVPS?????????96.6%?????????????λ???????????????@proflie???η???????????????????????Profile???? ??????????????setAVPS?????и??д????????????

??????????????????п????????Э????У?setAVPS??????У?????avp????????????3000?????????????????AVP????????3000?Σ????diameter?????????10??avp?????encoding???avp??????3W?Ρ? ?????????????????????????????????????ò?????avp??????????????????????????????к?????????????????????????????????? ????????????150???????????????????????????AVP???????????????????????????????AVP???????
???????????????????????????encoding avp??????????????????????????????????????????