Your IP : 3.144.1.100


Current Path : /opt/alt/python39/lib64/python3.9/__pycache__/
Upload File :
Current File : //opt/alt/python39/lib64/python3.9/__pycache__/profile.cpython-39.opt-2.pyc

a

R�fnY�@srddlZddlZddlZddlZgd�ZGdd�d�Zddd�Zddd	�ZGd
d�d�Zdd
�Z	e
dkrne	�dS)�N)�run�runctx�Profilec@s,eZdZdd�Zdd�Zdd�Zdd�Zd	S)
�_UtilscCs
||_dS�N)�profiler)�selfr�r	�,/opt/alt/python39/lib64/python3.9/profile.py�__init__0sz_Utils.__init__cCsR|��}z4z|�|�Wnty*Yn0W|�|||�n|�|||�0dSr)rr�
SystemExit�_show)r�	statement�filename�sort�profr	r	r
r3sz
_Utils.runcCsV|��}z8z|�|||�Wnty.Yn0W|�|||�n|�|||�0dSr)rrrr
)rr�globals�localsrrrr	r	r
r<sz
_Utils.runctxcCs"|dur|�|�n
|�|�dSr)�
dump_stats�print_stats)rrrrr	r	r
r
Esz_Utils._showN)�__name__�
__module__�__qualname__rrrr
r	r	r	r
r*s		r���cCstt��|||�Sr)rrr)rrrr	r	r
rQsrcCstt��|||||�Sr)rrr)rrrrrr	r	r
r^src@s�eZdZdZd3dd�Zdd�Zdd�Zd	d
�Zdd�Zd
d�Z	dd�Z
dd�Zdd�Ze
e	eeeed�Z
dd�ZGdd�d�ZGdd�d�Zdd�Zdd�Zd4d!d"�Zd#d$�Zd%d&�Zd'd(�Zd)d*�Zd+d,�Zd-d.�Zd5d/d0�Zd1d2�ZdS)6rrNcCs�i|_d|_d|_d|_|dur&|j}||_|sHtj|_|_|j	|_
nj||_|��}zt|�}Wn ty�||_|j	|_
Yn00|dkr�|j
|_
n|j|_
|tfdd�}||_|��|_|�d�dS)N��cSs
||��Srr	)�timer�sumr	r	r
�get_time_timer�sz(Profile.__init__.<locals>.get_time_timerr)�timings�cur�cmd�c_func_name�bias�time�process_timer�get_time�trace_dispatch_i�
dispatcher�len�	TypeError�trace_dispatch�trace_dispatch_lr�t�
simulate_call)rrr#r-Zlengthrr	r	r
r�s0


zProfile.__init__cCs�|j}|�}|d|d|j|j}|dkr8|j|_|j||||�rd|�}|d|d|_n|�}|d|d||_dS)Nr��c_call�rr-r#rr"�dispatch)r�frame�event�argrr-�rr	r	r
r+�szProfile.trace_dispatchcCsT|j}|�|j|j}|dkr(|j|_|j||||�rD|�|_n|�||_dS�Nr0r1�rr3r4r5rr-r	r	r
r'�s
zProfile.trace_dispatch_icCs`|j}|�d|j|j}|dkr,|j|_|j||||�rL|�d|_n|�d||_dS)NgN@r0r1r8r	r	r
�trace_dispatch_mac�szProfile.trace_dispatch_maccCsT|j}|�|j|j}|dkr(|j|_|j||||�rD|�|_n|�||_dSr7)r&r-r#rr"r2)rr3r4r5r&r-r	r	r
r,�s
zProfile.trace_dispatch_lc	CsD|j\}}}}}}||ur*|r*|�||�S|||||||f|_dS�Nr/)r �trace_dispatch_return)	rr3r-�rpt�rit�ret�rfn�rframe�rcurr	r	r
�trace_dispatch_exception�s
z Profile.trace_dispatch_exceptioncCs�|jr@|j|jdur@|j\}}}}}}t|tj�s@|�|d�|j}	|	j|	j|	j	f}
|dd|
||jf|_|j
}|
|vr�||
\}}
}}}||
d|||f||
<nddddif||
<dS�N���rr/)r �f_back�
isinstancer�
fake_framer;�f_code�co_filename�co_firstlineno�co_namer)rr3r-r<r=r>r?r@rAZfcode�fnr�cc�ns�tt�ct�callersr	r	r
�trace_dispatch_callszProfile.trace_dispatch_callc
Csndd|jf}|dd|||jf|_|j}||vrX||\}}}}}	||d|||	f||<nddddif||<dS)Nrrr/)r"r r)
rr3r-rLrrMrNrOrPrQr	r	r
�trace_dispatch_c_callszProfile.trace_dispatch_c_callcCs�||jdur |�|jdd�|j\}}}}}}||}||}|\}	}
}}}
}|	|
|||||
|f|_|j}||\}}}}}|s�||}|d}||vr�||d||<nd||<||d||||f||<dSrC)r r;r)rr3r-r<r=r>r?rAZframe_totalZpptZpitZpetZpfn�pframeZpcurrrMrNrOrPrQr	r	r
r;"s"zProfile.trace_dispatch_return)�callZ	exception�returnr0Zc_exceptionZc_returncCs"|jdrdS||_|�|�dS)Nr)r r!r.)rr!r	r	r
�set_cmdXszProfile.set_cmdc@seZdZdd�Zdd�ZdS)zProfile.fake_codecCs||_||_||_d|_dS�Nr)rI�co_linerKrJ)rr�line�namer	r	r
r^szProfile.fake_code.__init__cCst|j|j|jf�Sr)�reprrIrYrK�rr	r	r
�__repr__dszProfile.fake_code.__repr__N)rrrrr^r	r	r	r
�	fake_code]sr_c@seZdZdd�ZdS)zProfile.fake_framecCs||_||_dSr)rHrE)r�codeZpriorr	r	r
rhszProfile.fake_frame.__init__N)rrrrr	r	r	r
rGgsrGcCsF|�dd|�}|jr |jd}nd}|�||�}|jd||d�dS)NZprofilerrDrU)r_r rGr2)rr[r`rTr3r	r	r
r.lszProfile.simulate_callcCsJ|j}|�|j}|jdr:|jd||jd|�d}q|�||_dS)NrrVrDr)r&r-r r2)rr&r-r	r	r
�simulate_cmd_completexs
zProfile.simulate_cmd_completercCs$ddl}|�|����|���dSrX)�pstatsZStatsZ
strip_dirsZ
sort_statsr)rrrbr	r	r
r�szProfile.print_statscCsDt|d��&}|��t�|j|�Wd�n1s60YdS)N�wb)�open�create_stats�marshal�dump�stats)r�file�fr	r	r
r�szProfile.dump_statscCs|��|��dSr)ra�snapshot_statsr]r	r	r
re�szProfile.create_statsc	Cs^i|_|j��D]H\}\}}}}}|��}d}|��D]}||7}q6|||||f|j|<qdSrX)rhr�items�copy�values)	r�funcrMrNrOrPrQZncZcallcntr	r	r
rk�s
zProfile.snapshot_statscCsddl}|j}|�|||�SrX)�__main__�__dict__r)rr!rp�dictr	r	r
r�szProfile.runc	CsB|�|�t�|j�zt|||�Wt�d�nt�d�0|Sr)rW�sys�
setprofiler(�exec)rr!rrr	r	r
r�s
zProfile.runctxc	OsF|�t|��t�|j�z||i|��Wt�d�St�d�0dSr)rWr\rsrtr()rro�args�kwr	r	r
�runcall�s
�zProfile.runcallcCs@|jturtd��|j}d|_z|�||�W||_S||_0dS)Nz&Subclasses must override .calibrate().r)�	__class__rr*r#�_calibrate_inner)r�m�verboseZ
saved_biasr	r	r
�	calibrate�s
�zProfile.calibratecCs|j}dd�}|fdd�}||�|�}||�|�}||}|rLtd|�t�}	|�}|	�dt�t��|�}||}
|r�td|
�d}d}|	j��D]0\\}
}}\}}}}}|d	vr�||7}||7}q�|r�td
|�td|�||dkr�td
|��||d|}|�rtd|�|S)NcSst|�D]}d}qdSr:��range)�n�i�xr	r	r
�f1�sz$Profile._calibrate_inner.<locals>.f1cSst|�D]}|d�qdS)N�dr~)r{r�r�r	r	r
rj�sz#Profile._calibrate_inner.<locals>.fz elapsed time without profiling =zf(m)zelapsed time with profiling =g)rjr�z!'CPU seconds' profiler reported =ztotal # calls =r/z internal error: total calls = %dg@z+mean stopwatch overhead per profile event =)	r&�printrrrrrrl�
ValueError)rr{r|r&r�rjZt0�t1Zelapsed_noprofile�pZelapsed_profileZtotal_callsZ
reported_timerrZ�funcnamerMrNrOrPrQZmeanr	r	r
rz�sB

�



zProfile._calibrate_inner)NN)r)r)rrrr#rr+r'r9r,rBrRrSr;r2rWr_rGr.rarrrerkrrrxr}rzr	r	r	r
rgs>'
''�



1
rc
Cs�ddl}ddlm}d}||d�}d|_|jdddd	dd
�|jddd
ddd�|jdddddd
�tjdd�s�|��t�d�|�	�\}}|tjdd�<|j
dur�|j�|j
�|_
t
|�dk�r�|jr�ddl}d}|j|dd�}nh|d}	tj�d|j�|	��t�|	�� }
t|
��|	d�}Wd�n1�s:0Y|	dddd�}zt||d|j
|j�Wn8t�y�}zdt_t�|j�WYd}~n
d}~00n|��|S)Nr)�OptionParserzMprofile.py [-o output_file_path] [-s sort] [-m module | scriptfile] [arg] ...)�usageFz-oz	--outfile�outfilezSave stats to <outfile>)�dest�help�defaultz-m�module�
store_truezProfile a library module.)r��actionr�r�z-sz--sortrz?Sort order when printing to stdout, based on pstats.Stats classrr/rz(run_module(modname, run_name='__main__'))�
run_module�modnamerurp)�__file__r�__package__�
__cached__)�osZoptparser�Zallow_interspersed_argsZ
add_optionrs�argvZprint_usage�exit�
parse_argsr��path�abspathr)r��runpyr��insert�dirname�io�	open_code�compile�readrr�BrokenPipeError�stdout�errno)r�r�r��parserZoptionsrvr�r`ZglobsZprogname�fp�excr	r	r
�main)sZ

�
�
�

�0�$r�rp)Nr)Nr)r�rsr$rf�__all__rrrrr�rr	r	r	r
�<module>s
'

	E9

?>