MINI MINI MANI MO

Path : /usr/lib64/python3.6/__pycache__/
File Upload :
Current File : //usr/lib64/python3.6/__pycache__/profile.cpython-36.opt-2.pyc

3


 \V@sddlZddlZddlZddlZddlmZdddgZGdddZdd	dZdd
dZ	GdddZ
dd
Zedkr|edS)N)OptionParserrunrunctxProfilec@s,eZdZddZddZddZddZd	S)
_UtilscCs
||_dS)N)profiler)selfrr	/usr/lib64/python3.6/profile.py__init__1sz_Utils.__init__cCsF|j}z(y|j|Wntk
r,YnXWd|j|||XdS)N)rr
SystemExit_show)r	statementfilenamesortprofr	r	r
r4s
z
_Utils.runcCsJ|j}z,y|j|||Wntk
r0YnXWd|j|||XdS)N)rrrr
)rrglobalslocalsrrrr	r	r
r=s
z
_Utils.runctxcCs"|dk	r|j|n
|j|dS)N)
dump_statsprint_stats)rrrrr	r	r
r
Fsz_Utils._showN)__name__
__module____qualname__rrrr
r	r	r	r
r+s		rcCsttj|||S)N)rrr)rrrr	r	r
rRscCsttj|||||S)N)rrr)rrrrrr	r	r
r_sc@seZdZdZd3ddZddZddZd	d
ZddZd
dZ	ddZ
ddZddZe
e	eeeedZ
ddZGdddZGdddZddZddZd5d!d"Zd#d$Zd%d&Zd'd(Zd)d*Zd+d,Zd-d.Zd6d/d0Zd1d2ZdS)7rrNcCsi|_d|_d|_d|_|dkr&|j}||_|sHtj|_|_|j	|_
nl||_|j}yt|}Wn"tk
r||_|j	|_
Yn0X|dkr|j
|_
n|j|_
|tfdd}||_|j|_|jddS)NcSs
||S)Nr	)timersumr	r	r
get_time_timersz(Profile.__init__.<locals>.get_time_timerr)timingscurcmdc_func_namebiastimeZprocess_timerget_timetrace_dispatch_i
dispatcherlen	TypeErrortrace_dispatchtrace_dispatch_lrt
simulate_call)rrr#r,Zlengthrr	r	r
rs0


zProfile.__init__cCs|j}|}|d|d|j|j}|dkr8|j|_|j||||rd|}|d|d|_n|}|d|d||_dS)Nrrc_call)rr,r#rr"dispatch)rframeeventargrr,rr	r	r
r*szProfile.trace_dispatchcCsT|j}||j|j}|dkr(|j|_|j||||rD||_n|||_dS)Nr.)rr,r#rr"r/)rr0r1r2rr,r	r	r
r&s
zProfile.trace_dispatch_icCs`|j}|d|j|j}|dkr,|j|_|j||||rL|d|_n|d||_dS)NgN@r.)rr,r#rr"r/)rr0r1r2rr,r	r	r
trace_dispatch_macszProfile.trace_dispatch_maccCsT|j}||j|j}|dkr(|j|_|j||||rD||_n|||_dS)Nr.)r%r,r#rr"r/)rr0r1r2r%r,r	r	r
r+s
zProfile.trace_dispatch_lc	CsD|j\}}}}}}||k	r*|r*|j||S|||||||f|_dS)Nr)r trace_dispatch_return)	rr0r,rptritretrfnrframercurr	r	r
trace_dispatch_exceptions
z Profile.trace_dispatch_exceptioncCs|jr@|j|jdk	r@|j\}}}}}}t|tjs@|j|d|j}	|	j|	j|	j	f}
|dd|
||jf|_|j
}|
|kr||
\}}
}}}||
d|||f||
<nddddif||
<dS)Nrrr)r f_back
isinstancer
fake_framer5f_codeco_filenameco_firstlinenoco_namer)rr0r,r6r7r8r9r:r;Zfcodefnrccnsttctcallersr	r	r
trace_dispatch_callszProfile.trace_dispatch_callc
Csndd|jf}|dd|||jf|_|j}||krX||\}}}}}	||d|||	f||<nddddif||<dS)Nrrr)r"r r)
rr0r,rErrFrGrHrIrJr	r	r
trace_dispatch_c_callszProfile.trace_dispatch_c_callcCs||jdk	r |j|jdd|j\}}}}}}||}||}|\}	}
}}}
}|	|
|||||
|f|_|j}||\}}}}}|s||}|d}||kr||d||<nd||<||d||||f||<dS)Nrrrr=r=)r r5r)rr0r,r6r7r8r9r;Zframe_totalZpptZpitZpetZpfnpframeZpcurrrFrGrHrIrJr	r	r
r5#s"zProfile.trace_dispatch_return)callZ	exceptionreturnr.Zc_exceptionZc_returncCs"|jdrdS||_|j|dS)Nr)r r!r-)rr!r	r	r
set_cmdYs
zProfile.set_cmdc@seZdZddZddZdS)zProfile.fake_codecCs||_||_||_d|_dS)Nr)rBco_linerDrC)rrlinenamer	r	r
r_szProfile.fake_code.__init__cCst|j|j|jfS)N)reprrBrRrD)rr	r	r
__repr__eszProfile.fake_code.__repr__N)rrrrrVr	r	r	r
	fake_code^srWc@seZdZddZdS)zProfile.fake_framecCs||_||_dS)N)rAr>)rcodeZpriorr	r	r
riszProfile.fake_frame.__init__N)rrrrr	r	r	r
r@hsr@cCsF|jdd|}|jr |jd}nd}|j||}|jd||ddS)NZprofilerrrNr=)rWr r@r/)rrTrXrMr0r	r	r
r-mszProfile.simulate_callcCsN|j}||j}x*|jdr<|jd||jd|d}qW|||_dS)NrrOrrrPr=)r%r,r r/)rr%r,r	r	r
simulate_cmd_completeyszProfile.simulate_cmd_completercCs$ddl}|j|jj|jdS)Nr)pstatsZStatsZ
strip_dirsZ
sort_statsr)rrrZr	r	r
rszProfile.print_statsc
Cs0t|d}|jtj|j|WdQRXdS)Nwb)opencreate_statsmarshaldumpstats)rfilefr	r	r
rszProfile.dump_statscCs|j|jdS)N)rYsnapshot_stats)rr	r	r
r]szProfile.create_statsc	Csfi|_xZ|jjD]L\}\}}}}}|j}d}x|jD]}||7}q:W|||||f|j|<qWdS)Nr)r`ritemscopyvalues)	rfuncrFrGrHrIrJZncZcallcntr	r	r
rcszProfile.snapshot_statscCsddl}|j}|j|||S)Nr)__main____dict__r)rr!rhdictr	r	r
rszProfile.runcCs8|j|tj|jzt|||WdtjdX|S)N)rQsys
setprofiler'exec)rr!rrr	r	r
rs
zProfile.runctxcOs6|jt|tj|jz
|||StjdXdS)N)rQrUrkrlr')rrgargskwr	r	r
runcalls

zProfile.runcallcCs8|jtk	rtd|j}d|_z|j||S||_XdS)Nz&Subclasses must override .calibrate().r)	__class__rr)r#_calibrate_inner)rmverboseZ
saved_biasr	r	r
	calibrates
zProfile.calibratecCs$|j}dd}|fdd}|||}|||}||}|rLtd|t}	|}|	jdtt|}||}
|rtd|
d}d}x>|	jjD]0\\}
}}\}}}}}|dkr||7}||7}qW|rtd|td|||d
krtd|||d|}|r td||S)NcSsxt|D]}d}q
WdS)Nr)range)nixr	r	r
f1sz$Profile._calibrate_inner.<locals>.f1cSsxt|D]}|dq
WdS)Nd)rv)rsrzrxr	r	r
rbsz#Profile._calibrate_inner.<locals>.fz elapsed time without profiling =zf(m)zelapsed time with profiling =grbrzz!'CPU seconds' profiler reported =ztotal # calls =rz internal error: total calls = %dg@z+mean stopwatch overhead per profile event =)rbrz)	r%printrrrrrrd
ValueError)rrsrtr%rzrbZt0Zt1Zelapsed_noprofilepZelapsed_profileZtotal_callsZ
reported_timerrSfuncnamerFrGrHrIrJZmeanr	r	r
rrsB

"


zProfile._calibrate_inner)NNrP)rP)r)rrrr#rr*r&r4r+r<rKrLr5r/rQrWr@r-rYrrr]rcrrrprurrr	r	r	r
rhs<'
''




1
c
Csd}t|d}d|_|jdddddd|jd	d
ddddtjd
ds\|jtjd|j\}}|tjdd<t|dkr|d}tj	j
dtj	j|t
|d}t|j|d}WdQRX|dddd}t||d|j|jn|j|S)Nz?profile.py [-o output_file_path] [-s sort] scriptfile [arg] ...)usageFz-oz	--outfileoutfilezSave stats to <outfile>)desthelpdefaultz-sz--sortrz?Sort order when printing to stdout, based on pstats.Stats classrrrrbrmrh)__file__r__package__
__cached__rP)rZallow_interspersed_argsZ
add_optionrkargvZprint_usageexit
parse_argsr(pathinsertosdirnamer\compilereadrrr)rparserZoptionsrnZprognamefprXZglobsr	r	r
main*s2




rrhrP)NrPrP)NrP)
rkrr$r^Zoptparser__all__rrrrrrr	r	r	r
<module>s

'

	E"

OHA YOOOO