Edit File: profile.cpython-38.opt-2.pyc
U ����@��d\����������������������@���st���d�dl�Z�d�dlZd�dlZd�dlZdddgZG�dd��d�Zddd�Zdd d�ZG�d d��d�Zdd��Z e d krpe ���dS�)�����N�run�runctx�Profilec�������������������@���s,���e�Zd�Zdd��Zdd��Zdd��Zdd��Zd S�) �_Utilsc�����������������C���s ���||�_�d�S��N)�profiler)�selfr�����r ����,/opt/alt/python38/lib64/python3.8/profile.py�__init__0���s����z_Utils.__init__c�����������������C���sF���|�����}z(z|�|��W�n�tk r,���Y�nX�W�5�|��|||��X�d�S�r���)r����_showr���� SystemExit)r���� statement�filename�sort�profr ���r ���r ���r���3���s���� z _Utils.runc�����������������C���sJ���|�����}z,z|�|||��W�n�tk r0���Y�nX�W�5�|��|||��X�d�S�r���)r���r���r���r ���)r���r����globals�localsr���r���r���r ���r ���r ���r���<���s���� z _Utils.runctxc�����������������C���s"���|d�k r|��|��n |�|��d�S�r���)� dump_stats�print_stats)r���r���r���r���r ���r ���r ���r���E���s����z_Utils._showN)�__name__� __module__�__qualname__r���r���r���r���r ���r ���r ���r ���r���*���s��� r������c�����������������C���s���t�t��|�||�S�r���)r���r���r���)r���r���r���r ���r ���r ���r���Q���s����c�����������������C���s���t�t��|�||||�S�r���)r���r���r���)r���r���r���r���r���r ���r ���r ���r���^���s����c�������������������@���s����e�Zd�ZdZd4dd�Zdd��Zdd��Zd d ��Zdd��Zd d��Z dd��Z dd��Zdd��Ze e eeeed�Z dd��ZG�dd��d�ZG�dd��d�Zdd��Zdd��Zd5d!d"�Zd#d$��Zd%d&��Zd'd(��Zd)d*��Zd+d,��Zd-d.��Zd/e_d6d0d1�Zd2d3��ZdS�)7r���r���Nc�����������������C���s����i�|�_�d�|�_d|�_d|�_|d�kr&|�j}||�_|sHtj�|�_|�_|�j |�_ nl||�_|����}zt|�}W�n"�tk r����||�_|�j |�_ Y�n0X�|dkr�|�j |�_ n|�j|�_ |tfdd�}||�_|����|�_|��d��d�S�)N������c�����������������S���s ���||����S�r���r ���)�timer�sumr ���r ���r ����get_time_timer����s����z(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)r���r���r#���r-���Zlengthr���r ���r ���r ���r�������s0���� zProfile.__init__c�����������������C���s����|�j�}|��}|d�|d��|�j�|�j�}|dkr8|j|�_|�j|�|�||�rd|��}|d�|d��|�_n|��}|d�|d��|�|�_d�S�)Nr��������c_call�r���r-���r#���r���r"����dispatch)r����frame�event�argr���r-����rr ���r ���r ���r+�������s����zProfile.trace_dispatchc�����������������C���sT���|�j�}|��|�j�|�j�}|dkr(|j|�_|�j|�|�||�rD|��|�_n|��|�|�_d�S��Nr0���r1����r���r3���r4���r5���r���r-���r ���r ���r ���r'�������s���� zProfile.trace_dispatch_ic�����������������C���s`���|�j�}|��d�|�j�|�j�}|dkr,|j|�_|�j|�|�||�rL|��d�|�_n|��d�|�|�_d�S�)Ng������N@r0���r1���r8���r ���r ���r ����trace_dispatch_mac����s����zProfile.trace_dispatch_macc�����������������C���sT���|�j�}|��|�j�|�j�}|dkr(|j|�_|�j|�|�||�rD|��|�_n|��|�|�_d�S�r7���)r&���r-���r#���r���r"���r2���)r���r3���r4���r5���r&���r-���r ���r ���r ���r,�������s���� zProfile.trace_dispatch_lc����������� ������C���sD���|�j�\}}}}}}||k r*|r*|��||�S�|||�||||f|�_�dS��Nr/���)r ����trace_dispatch_return) r���r3���r-����rpt�rit�ret�rfn�rframe�rcurr ���r ���r ����trace_dispatch_exception����s ����z Profile.trace_dispatch_exceptionc�����������������C���s����|�j�r@|j|�j�d�k r@|�j�\}}}}}}t|tj�s@|��|d��|j} | j| j| j f} |dd| ||�j�f|�_�|�j }| |kr�|| �\}} }}}|| d�|||f|| <�nddddi�f|| <�dS��N���r���r/���)r ����f_back� isinstancer���� fake_framer;����f_code�co_filename�co_firstlineno�co_namer���)r���r3���r-���r<���r=���r>���r?���r@���rA���Zfcode�fnr����cc�ns�tt�ct�callersr ���r ���r ����trace_dispatch_call��s����zProfile.trace_dispatch_callc����������� ������C���sn���dd|�j�f}|dd|||�jf|�_|�j}||krX||�\}}}}} ||d�||| f||<�nddddi�f||<�dS�)Nr���r���r/���)r"���r ���r���) r���r3���r-���rL���r���rM���rN���rO���rP���rQ���r ���r ���r ����trace_dispatch_c_call��s����zProfile.trace_dispatch_c_callc�����������������C���s����||�j�d�k r |��|�j�d�d��|�j�\}}}}}}||�}||�}|\} } }}} }| | |�||�|| |f|�_�|�j}||�\}}}}}|s�||�}|d�}||kr�||�d�||<�nd||<�||d�||�||f||<�dS�rC���)r ���r;���r���)r���r3���r-���r<���r=���r>���r?���rA���Zframe_totalZpptZpitZpetZpfn�pframeZpcurr���rM���rN���rO���rP���rQ���r ���r ���r ���r;���"��s"����zProfile.trace_dispatch_return)�callZ exception�returnr0���Zc_exceptionZc_returnc�����������������C���s"���|�j�d�rd�S�||�_|��|��d�S�)Nr���)r ���r!���r.���)r���r!���r ���r ���r ����set_cmdX��s���� �zProfile.set_cmdc�������������������@���s���e�Zd�Zdd��Zdd��ZdS�)zProfile.fake_codec�����������������C���s���||�_�||�_||�_d|�_d�S��Nr���)rI����co_linerK���rJ���)r���r����line�namer ���r ���r ���r���^��s����zProfile.fake_code.__init__c�����������������C���s���t�|�j|�j|�jf�S�r���)�reprrI���rY���rK����r���r ���r ���r ����__repr__d��s����zProfile.fake_code.__repr__N)r���r���r���r���r^���r ���r ���r ���r ���� fake_code]��s���r_���c�������������������@���s���e�Zd�Zdd��ZdS�)zProfile.fake_framec�����������������C���s���||�_�||�_d�S�r���)rH���rE���)r����codeZpriorr ���r ���r ���r���h��s����zProfile.fake_frame.__init__N)r���r���r���r���r ���r ���r ���r ���rG���g��s���rG���c�����������������C���sF���|���dd|�}|�jr |�jd�}nd�}|��||�}|�jd�|�|d��d�S�)NZprofiler���rD���rU���)r_���r ���rG���r2���)r���r[���r`���rT���r3���r ���r ���r ���r.���l��s����zProfile.simulate_callc�����������������C���sJ���|�j�}|��|�j�}|�jd�r:|�jd�|�|�jd�|��d}q|��|�|�_d�S�)Nr���rV���rD���r���)r&���r-���r ���r2���)r���r&���r-���r ���r ���r ����simulate_cmd_completex��s���� zProfile.simulate_cmd_completer���c�����������������C���s$���dd�l�}|�|������|�����d�S�rX���)�pstatsZStatsZ strip_dirsZ sort_statsr���)r���r���rb���r ���r ���r ���r������s����zProfile.print_statsc�������������� ���C���s0���t�|d��}|�����t�|�j|��W�5�Q�R�X�d�S�)N�wb)�open�create_stats�marshal�dump�stats)r����file�fr ���r ���r ���r������s����zProfile.dump_statsc�����������������C���s���|������|�����d�S�r���)ra����snapshot_statsr]���r ���r ���r ���re������s����zProfile.create_statsc����������� ������C���s^���i�|�_�|�j���D�]H\}\}}}}}|���}d}|���D�]}||7�}q6|||||f|�j�|<�qd�S�rX���)rh���r����items�copy�values) r����funcrM���rN���rO���rP���rQ���ZncZcallcntr ���r ���r ���rk������s���� zProfile.snapshot_statsc�����������������C���s���dd�l�}|j}|��|||�S�rX���)�__main__�__dict__r���)r���r!���rp����dictr ���r ���r ���r������s����zProfile.runc�������������� ���C���s8���|���|��t�|�j��zt|||��W�5�t�d���X�|�S�r���)rW����sys� setprofiler(����exec)r���r!���r���r���r ���r ���r ���r������s���� zProfile.runctxc��������������� ���O���s����t�|��dkr|�^}}}�nV|�s&td��nHd|krZ|�d�}|�^}}�dd�l}|jdtdd��ntdt�|��d����|�t|���t� |j ��z||�|�W��S�t� d���X�d�S�) Nr���z:descriptor 'runcall' of 'Profile' object needs an argumentro���r���z0Passing 'func' as keyword argument is deprecated)� stacklevelz7runcall expected at least 1 positional argument, got %dr/���)r)���r*����pop�warnings�warn�DeprecationWarningrW���r\���rs���rt���r(���)�args�kwr���ro���rx���r ���r ���r ����runcall���s(���� �� �zProfile.runcallz($self, func, /, *args, **kw)c�����������������C���s<���|�j�tk rtd��|�j}d|�_z|��||�W��S�||�_X�d�S�)Nz&Subclasses must override .calibrate().r���)� __class__r���r*���r#����_calibrate_inner)r����m�verboseZ saved_biasr ���r ���r ���� calibrate���s���� zProfile.calibratec�����������������C���s��|�j�}dd��}|fdd�}||��|��}||��|��}||�}|rLtd|��t��} |��}| �dt��t����|��}||�} |r�td| ��d}d}| j���D�]0\\} }}\}}}}}|d kr�||7�}||7�}q�|r�td |��td|��||d�kr�td |���||�d�|�}|�rtd|��|S�)Nc�����������������S���s���t�|��D�]}d}qd�S�r:�����range)�n�i�xr ���r ���r ����f1��s����z$Profile._calibrate_inner.<locals>.f1c�����������������S���s���t�|��D�]}|d��qd�S�)N�d���r����)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��������)rj���r����z!'CPU seconds' profiler reported =ztotal # calls =r/���z internal error: total calls = %dg�������@z+mean stopwatch overhead per profile event =) r&����printr���r���r���r���r���rl���� ValueError)r���r����r����r&���r����rj���Zt0�t1Zelapsed_noprofile�pZelapsed_profileZtotal_callsZ reported_timer���rZ����funcnamerM���rN���rO���rP���rQ���Zmeanr ���r ���r ���r������sB���� � zProfile._calibrate_inner)NN)r���)r���)r���r���r���r#���r���r+���r'���r9���r,���rB���rR���rS���r;���r2���rW���r_���rG���r.���ra���r���r���re���rk���r���r���r}����__text_signature__r����r���r ���r ���r ���r ���r���g���s@���' ''� + c��������������� ���C���s���dd�l�}�ddlm}�d}||d�}d|_|jdddd d�d ��|jddd ddd��|jdddddd ��tjdd���s�|����t�d��|� ��\}}|tjd�d��<�|j d�k r�|�j�|j �|_ t |�dk�r�|jr�dd�l}d}|j|d�d�}nR|d�} tj�d|�j�| ���t�| ��} t| ���| d�}W�5�Q�R�X�| dd�d�d�}zt||d�|j |j��W�n6�tk �r��}�zd�t_t�|j��W�5�d�}~X�Y�nX�n|����|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--sortr���z?Sort order when printing to stdout, based on pstats.Stats classr���r/���r���z(run_module(modname, run_name='__main__'))� run_module�modnameru���rp���)�__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�readr���r����BrokenPipeError�stdout�errno)r����r����r�����parserZoptionsr{���r����r`���ZglobsZprogname�fp�excr ���r ���r ����main9��s^���� �� �� � �� r����rp���)Nr���)Nr���)r����rs���r$���rf����__all__r���r���r���r���r����r���r ���r ���r ���r ����<module>���s��� ' ���U9