Viewing File: /opt/alt/python35/lib64/python3.5/__pycache__/profile.cpython-35.opt-2.pyc



]V@sddlZddlZddlZddlZddlmZdddgZGdddZddd	dZddd
dZ	GdddZ
dd
ZedkredS)N)OptionParserrunrunctxProfilec@s@eZdZddZddZddZddZd	S)
_UtilscCs
||_dS)N)profiler)selfrr	,/opt/alt/python35/lib64/python3.5/profile.py__init__1sz_Utils.__init__cCsQ|j}z*y|j|Wntk
r4YnXWd|j|||XdS)N)rr
SystemExit_show)r	statementfilenamesortprofr	r	r
r4s
	z
_Utils.runcCsW|j}z0y|j|||Wntk
r:YnXWd|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@sneZdZdZddddZddZddZd	d
ZddZd
dZ	ddZ
ddZddZde
de	dedededeiZ
ddZGdddZGdd d Zd!d"Zd#d$Zd8d&d'Zd(d)Zd*d+Zd,d-Zd.d/Zd0d1Zd2d3Zdd4d5Zd6d7ZdS)9rrNcCsi|_d|_d|_d|_|dkr9|j}||_|sjtj|_|_|j	|_
n||_|j}yt|}Wn'tk
r||_|j	|_
YnCX|dkr|j
|_
n|j|_
|tdd}||_|j|_|jddS)NcSs
||S)Nr	)timersumr	r	r
get_time_timersz(Profile.__init__.<locals>.get_time_timerr)timingscurcmdc_func_namebiastimeprocess_timerget_timetrace_dispatch_i
dispatcherlen	TypeErrortrace_dispatchtrace_dispatch_lrt
simulate_call)rrr#r-lengthrr	r	r
rs0							
		zProfile.__init__cCs|j}|}|d|d|j|j}|dkrJ|j|_|j||||r|}|d|d|_n"|}|d|d||_dS)Nrrc_call)rr-r#rr"dispatch)rframeeventargrr-rr	r	r
r+s		 		zProfile.trace_dispatchcCst|j}||j|j}|dkr8|j|_|j||||r`||_n|||_dS)Nr0)rr-r#rr"r1)rr2r3r4rr-r	r	r
r's	zProfile.trace_dispatch_icCs|j}|d|j|j}|dkr<|j|_|j||||rh|d|_n|d||_dS)NgN@r0)rr-r#rr"r1)rr2r3r4rr-r	r	r
trace_dispatch_macs	zProfile.trace_dispatch_maccCst|j}||j|j}|dkr8|j|_|j||||r`||_n|||_dS)Nr0)r&r-r#rr"r1)rr2r3r4r&r-r	r	r
r,s	zProfile.trace_dispatch_lc	Cs`|j\}}}}}}||k	r=|r=|j||S|||||||f|_dS)Nr)r trace_dispatch_return)	rr2r-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_framer7f_codeco_filenameco_firstlinenoco_namer)rr2r-r8r9r:r;r<r=Zfcodefnrccnsttctcallersr	r	r
trace_dispatch_calls		 zProfile.trace_dispatch_callc
Csdd|jf}|dd|||jf|_|j}||kr~||\}}}}}	||d|||	f||<nddddif||<dS)Nrrr)r"r r)
rr2r-rGrrHrIrJrKrLr	r	r
trace_dispatch_c_calls	 zProfile.trace_dispatch_c_callcCs ||jdk	r*|j|jdd|j\}}}}}}||}||}|\}	}
}}}
}|	|
|||||
|f|_|j}||\}}}}}|s||}|d}||kr||d||<n
d||<||d||||f||<dS)Nrrrr?r?)r r7r)rr2r-r8r9r:r;r=Zframe_totalZpptZpitZpetZpfnpframeZpcurrrHrIrJrKrLr	r	r
r7#s"

#	


!zProfile.trace_dispatch_returncall	exceptionreturnr0Zc_exceptionZc_returncCs+|jdrdS||_|j|dS)Nr)r r!r.)rr!r	r	r
set_cmdYs
	zProfile.set_cmdc@s(eZdZddZddZdS)zProfile.fake_codecCs(||_||_||_d|_dS)Nr)rDco_linerFrE)rrlinenamer	r	r
r_s			zProfile.fake_code.__init__cCst|j|j|jfS)N)reprrDrUrF)rr	r	r
__repr__eszProfile.fake_code.__repr__N)rrrrrYr	r	r	r
	fake_code^srZc@seZdZddZdS)zProfile.fake_framecCs||_||_dS)N)rCr@)rcodeZpriorr	r	r
ris	zProfile.fake_frame.__init__N)rrrrr	r	r	r
rBhsrBcCsa|jdd|}|jr.|jd}nd}|j||}|jd||ddS)NZprofilerrrPr?)rZr rBr1)rrWr[rOr2r	r	r
r.ms	zProfile.simulate_callcCse|j}||j}x5|jdrP|jd||jd|d}qW|||_dS)NrrRrrrSr?)r&r-r r1)rr&r-r	r	r
simulate_cmd_completeys	
zProfile.simulate_cmd_completercCs2ddl}|j|jj|jdS)Nr)pstatsZStatsZ
strip_dirsZ
sort_statsr)rrr]r	r	r
rszProfile.print_statsc
Cs:t|d$}|jtj|j|WdQRXdS)Nwb)opencreate_statsmarshaldumpstats)rfilefr	r	r
rs
zProfile.dump_statscCs|j|jdS)N)r\snapshot_stats)rr	r	r
r`s
zProfile.create_statsc	Csi|_x{|jjD]j\}\}}}}}|j}d}x|jD]}||7}qSW|||||f|j|<qWdS)Nr)rcritemscopyvalues)	rfuncrHrIrJrKrLZncZcallcntr	r	r
rfs	+zProfile.snapshot_statscCs(ddl}|j}|j|||S)Nr)__main____dict__r)rr!rkdictr	r	r
rs	zProfile.runcCsF|j|tj|jzt|||WdtjdX|S)N)rTsys
setprofiler(exec)rr!rrr	r	r
rs
zProfile.runctxcOsI|jt|tj|jz|||SWdtjdXdS)N)rTrXrnror()rrjargskwr	r	r
runcalls
zProfile.runcallcCsR|jtk	rtd|j}d|_z|j||SWd||_XdS)Nz&Subclasses must override .calibrate().r)	__class__rr*r#_calibrate_inner)rmverboseZ
saved_biasr	r	r
	calibrates		zProfile.calibratecCs|j}dd}|dd}|||}|||}||}|rgtd|t}	|}|	jdtt|}||}
|rtd|
d}d}xU|	jjD]D\\}
}}\}}}}}|dkr||7}||7}qW|r<td|td|||d
kr\td|||d|}|rtd||S)NcSs!xt|D]}d}q
WdS)Nr)range)nixr	r	r
f1sz$Profile._calibrate_inner.<locals>.f1cSs%xt|D]}|dq
WdS)Nd)ry)rvr}r{r	r	r
resz#Profile._calibrate_inner.<locals>.fz elapsed time without profiling =zf(m)zelapsed time with profiling =grer}z!'CPU seconds' profiler reported =ztotal # calls =rz internal error: total calls = %dg@z+mean stopwatch overhead per profile event =)rer})	r&printrrrrrrg
ValueError)rrvrwr&r}ret0t1Zelapsed_noprofilepZelapsed_profileZtotal_callsZ
reported_timerrVfuncnamerHrIrJrKrLZmeanr	r	r
rusB	
	
	

			

1



zProfile._calibrate_innerrS)rrrr#rr+r'r6r,r>rMrNr7r1rTrZrBr.r\rrr`rfrrrsrxrur	r	r	r
rhs<'''



1cCshd}td|}d|_|jdddddd	d
d|jdddd
ddd
dtjdds|jtjd|j\}}|tjdd<t|dkrZ|d}tj	j
dtj	j|t
|d}t|j|d}WdQRXd|ddddddi}t||d|j|jn
|j|S)Nz?profile.py [-o output_file_path] [-s sort] scriptfile [arg] ...usageFz-oz	--outfiledestoutfilehelpzSave stats to <outfile>defaultz-sz--sortrz?Sort order when printing to stdout, based on pstats.Stats classrrrrbrp__file__rrk__package__
__cached__rS)rZallow_interspersed_argsZ
add_optionrnargvprint_usageexit
parse_argsr)pathinsertosdirnamer_compilereadrrr)rparseroptionsrqZprognamefpr[Zglobsr	r	r
main*s2	




rrk)
rnrr$raZoptparser__all__rrrrrrr	r	r	r
<module>s
'
	"
Back to Directory File Manager