Edit File: profile.cpython-37.opt-2.pyc
B ����0��c�W������������������@���sl���d�dl�Z�d�dlZd�dlZdddgZG�dd��d�Zddd�Zdd d�ZG�d d��d�Zdd��Ze d krhe���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/python37/lib64/python3.7/profile.py�__init__/���s����z_Utils.__init__c�������������C���sF���|�����}z(y|�|��W�n�tk r,���Y�nX�W�d�|��|||��X�d�S�)N)r���r���� SystemExit�_show)r���� statement�filename�sort�profr���r���r ���r���2���s���� z _Utils.runc�������������C���sJ���|�����}z,y|�|||��W�n�tk r0���Y�nX�W�d�|��|||��X�d�S�)N)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�)N)� dump_stats�print_stats)r���r���r���r���r���r���r ���r���D���s����z_Utils._showN)�__name__� __module__�__qualname__r ���r���r���r���r���r���r���r ���r���)���s��� r������c�������������C���s���t�t��|�||�S�)N)r���r���r���)r ���r���r���r���r���r ���r���P���s����c�������������C���s���t�t��|�||||�S�)N)r���r���r���)r ���r���r���r���r���r���r���r ���r���]���s����c���������������@���s����e�Zd�ZdZd3dd�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��Zd4d!d"�Zd#d$��Zd%d&��Zd'd(��Zd)d*��Zd+d,��Zd-d.��Zd5d/d0�Zd1d2��ZdS�)6r���r���Nc�������������C���s����i�|�_�d�|�_d|�_d|�_|d�kr&|�j}||�_|sHtj�|�_|�_|�j |�_ nl||�_|����}yt|�}W�n"�tk r����||�_|�j |�_ Y�n0X�|dkr�|�j |�_ n|�j|�_ |tfdd�}||�_|����|�_|��d��d�S�)N������c�������������S���s ���||����S�)Nr���)�timer�sumr���r���r ����get_time_timer����s����z(Profile.__init__.<locals>.get_time_timerr���)�timings�cur�cmd�c_func_name�bias�timeZprocess_timer����get_time�trace_dispatch_i� dispatcher�len� TypeError�trace_dispatch�trace_dispatch_lr����t� simulate_call)r���r���r"���r+����lengthr���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�)Nr/���)r���r+���r"���r���r!���r0���)r���r1���r2���r3���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@r/���)r���r+���r"���r���r!���r0���)r���r1���r2���r3���r���r+���r���r���r ����trace_dispatch_mac����s����zProfile.trace_dispatch_macc�������������C���sT���|�j�}|��|�j�|�j�}|dkr(|j|�_|�j|�|�||�rD|��|�_n|��|�|�_d�S�)Nr/���)r$���r+���r"���r���r!���r0���)r���r1���r2���r3���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���r1���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_framer6����f_code�co_filename�co_firstlineno�co_namer���)r���r1���r+���r7���r8���r9���r:���r;���r<���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���r1���r+���rF���r���rG���rH���rI���rJ���rK���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�)Nr>���r���r.���)r���r6���r���)r���r1���r+���r7���r8���r9���r:���r<���Zframe_totalZpptZpitZpetZpfn�pframeZpcurr���rG���rH���rI���rJ���rK���r���r���r ���r6���!��s"����zProfile.trace_dispatch_return)�callZ exception�returnr/���Zc_exceptionZc_returnc�������������C���s"���|�j�d�rd�S�||�_|��|��d�S�)Nr���)r���r ���r,���)r���r ���r���r���r ����set_cmdW��s���� �zProfile.set_cmdc���������������@���s���e�Zd�Zdd��Zdd��ZdS�)zProfile.fake_codec�������������C���s���||�_�||�_||�_d|�_d�S�)Nr���)rC����co_linerE���rD���)r���r����line�namer���r���r ���r ���]��s����zProfile.fake_code.__init__c�������������C���s���t�|�j|�j|�jf�S�)N)�reprrC���rR���rE���)r���r���r���r ����__repr__c��s����zProfile.fake_code.__repr__N)r���r���r���r ���rV���r���r���r���r ���� fake_code\��s���rW���c���������������@���s���e�Zd�Zdd��ZdS�)zProfile.fake_framec�������������C���s���||�_�||�_d�S�)N)rB���r?���)r����codeZpriorr���r���r ���r ���g��s����zProfile.fake_frame.__init__N)r���r���r���r ���r���r���r���r ���rA���f��s���rA���c�������������C���sF���|���dd|�}|�jr |�jd�}nd�}|��||�}|�jd�|�|d��d�S�)NZprofiler���r>���rO���)rW���r���rA���r0���)r���rT���rX���rN���r1���r���r���r ���r,���k��s����zProfile.simulate_callc�������������C���sN���|�j�}|��|�j�}x*|�jd�r<|�jd�|�|�jd�|��d}qW�|��|�|�_d�S�)Nr���rP���r>���r���)r$���r+���r���r0���)r���r$���r+���r���r���r ����simulate_cmd_completew��s����zProfile.simulate_cmd_completer���c�������������C���s$���dd�l�}|�|������|�����d�S�)Nr���)�pstatsZStatsZ strip_dirsZ sort_statsr���)r���r���rZ���r���r���r ���r������s����zProfile.print_statsc���������� ���C���s0���t�|d��}|�����t�|�j|��W�d�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�)N)rY����snapshot_stats)r���r���r���r ���r]������s����zProfile.create_statsc������� ������C���sf���i�|�_�xZ|�j���D�]L\}\}}}}}|���}d}x|���D�]}||7�}q:W�|||||f|�j�|<�qW�d�S�)Nr���)r`���r����items�copy�values) r����funcrG���rH���rI���rJ���rK���ZncZcallcntr���r���r ���rc������s����zProfile.snapshot_statsc�������������C���s���dd�l�}|j}|��|||�S�)Nr���)�__main__�__dict__r���)r���r ���rh����dictr���r���r ���r������s����zProfile.runc���������� ���C���s8���|���|��t�|�j��zt|||��W�d�t�d���X�|�S�)N)rQ����sys� setprofiler&����exec)r���r ���r���r���r���r���r ���r������s���� zProfile.runctxc����������� ���O���s����t�|��dkr|�^}}}�n>|�s&td��n0d|krB|�d�}|�^}}�ntdt�|��d����|�t|���t�|j��z ||�|�S�t�d���X�d�S�)Nr���z:descriptor 'runcall' of 'Profile' object needs an argumentrg���z7runcall expected at least 1 positional argument, got %dr.���)r'���r(����poprQ���rU���rk���rl���r&���)�args�kwr���rg���r���r���r ����runcall���s���� zProfile.runcallc�������������C���s8���|�j�tk rtd��|�j}d|�_z|��||�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}x>| j���D�]0\\} }}\}}}}}|d kr�||7�}||7�}q�W�|r�td |��td|��||d�kr�td |���||�d�|�}|�rtd|��|S�)Nc�������������S���s���xt�|��D�]}d}q W�d�S�)Nr.���)�range)�n�i�xr���r���r ����f1���s����z$Profile._calibrate_inner.<locals>.f1c�������������S���s���xt�|��D�]}|d��q W�d�S�)N�d���)rw���)rt���r{���ry���r���r���r ���rb�����s����z#Profile._calibrate_inner.<locals>.fz elapsed time without profiling =zf(m)zelapsed time with profiling =g��������)rb���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���rd���� ValueError)r���rt���ru���r$���r{���rb���Zt0Zt1Zelapsed_noprofile�pZelapsed_profileZtotal_callsZ reported_timer���rS����funcnamerG���rH���rI���rJ���rK���Zmeanr���r���r ���rs������sB���� " zProfile._calibrate_inner)NN)r���)r���)r���r���r���r"���r ���r)���r%���r5���r*���r=���rL���rM���r6���r0���rQ���rW���rA���r,���rY���r���r���r]���rc���r���r���rq���rv���rs���r���r���r���r ���r���f���s<���' '' = c�������� ��� ���C���s ��dd�l�}�ddlm}�d}||d�}d|_|jdddd d�d ��|jddd ddd ��tjdd���sp|����t�d��|� ��\}}|tjd�d��<�t |�dkr�|d�}tj�d|�j� |���t|d��}t|���|d�}W�d�Q�R�X�|dd�d�d�} t|| d�|j|j��n|����|S�)Nr���)�OptionParserz?profile.py [-o output_file_path] [-s sort] scriptfile [arg] ...)�usageFz-oz --outfile�outfilezSave stats to <outfile>)�dest�help�defaultz-sz--sortr���z?Sort order when printing to stdout, based on pstats.Stats classr���r.���r����rbrm���rh���)�__file__r����__package__� __cached__)�osZoptparser����Zallow_interspersed_argsZ add_optionrk����argv�print_usage�exit� parse_argsr'����path�insert�dirnamer\����compile�readr���r����r���) r����r����r�����parser�optionsro���Zprogname�fprX���Zglobsr���r���r ����main4��s6���� r����rh���)Nr���)Nr���) rk���r#���r^����__all__r���r���r���r���r����r���r���r���r���r ����<module>���s��� ' ���Q%