Edit File: cProfile.cpython-36.pyc
3 � \������������������@���sz���d�Z�dddgZddlZddlZddd�Zddd�Zejj�e_�ejj�e_�G�d d��dej�Zd d��Z dd ��Z edkrve ���dS�)zUPython interface for the 'lsprof' profiler. Compatible with the 'profile' module. �run�runctx�Profile�����N����c�������������C���s���t�jt�j|�||�S�)N)� _pyprofile�_Utilsr���r���)� statement�filename�sort��r���� /usr/lib64/python3.6/cProfile.pyr������s����c�������������C���s���t�jt�j|�||||�S�)N)r���r���r���r���)r����globals�localsr ���r ���r���r���r���r������s����c���������������@���sJ���e�Zd�ZdZddd�Zdd��Zdd��Zd d ��Zdd��Zd d��Z dd��Z dS�)r���a`��Profile(timer=None, timeunit=None, subcalls=True, builtins=True) Builds a profiler object using the specified timer function. The default timer is a fast built-in one based on real time. For custom timer functions returning integers, timeunit can be a float specifying a scale (i.e. how long each integer unit is, in seconds). r���c�������������C���s$���dd�l�}|j|��j��j|�j���d�S�)Nr���)�pstats�StatsZ strip_dirsZ sort_stats�print_stats)�selfr ���r���r���r���r���r���(���s����zProfile.print_statsc���������� ���C���s8���dd�l�}t|d��}|�j���|j|�j|��W�d�Q�R�X�d�S�)Nr����wb)�marshal�open�create_stats�dump�stats)r����filer����fr���r���r���� dump_stats,���s����zProfile.dump_statsc�������������C���s���|�j����|�j���d�S�)N)�disable�snapshot_stats)r���r���r���r���r���2���s����zProfile.create_statsc�������������C���s6��|�j���}i�|�_i�}xX|D�]P}t|j�}|j}||j�}|j}|j}i�} | |t|j�<�||||| f|�j|<�qW�x�|D�]�}|j rrt|j�}x�|j D�]�} y|t| j��} W�n�t k r����w�Y�nX�| j}|| j�}| j}| j}|| k�r| |�}||d�7�}||d�7�}||d�7�}||d�7�}||||f| |<�q�W�qrW�d�S�)Nr���r�����������)Zgetstatsr����label�codeZ callcountZreccallcountZ inlinetimeZ totaltime�idZcalls�KeyError)r���ZentriesZcallersdicts�entry�funcZncZccZttZctZcallersZsubentry�prevr���r���r���r���6���s>���� zProfile.snapshot_statsc�������������C���s���dd�l�}|j}|�j|||�S�)Nr���)�__main__�__dict__r���)r����cmdr'����dictr���r���r���r���\���s����zProfile.runc���������� ���C���s(���|�j����zt|||��W�d�|�j���X�|�S�)N)�enable�execr���)r���r)���r ���r���r���r���r���r���a���s ���� zProfile.runctxc���������� ���O���s"���|�j����z |||�S�|�j���X�d�S�)N)r+���r���)r���r%����args�kwr���r���r����runcallj���s���� zProfile.runcallN���)r0���)�__name__� __module__�__qualname__�__doc__r���r���r���r���r���r���r/���r���r���r���r���r������s��� & c�������������C���s(���t�|�t�rdd|�fS�|�j|�j|�jfS�d�S�)N�~r���)� isinstance�str�co_filename�co_firstlineno�co_name)r!���r���r���r���r ���s���s���� r ���c����������� ���C���s&��dd�l�}�dd�l}dd�l}ddlm}�d}||d�}d|_|jdddd d�d ��|jddd ddt|jj �d��|j dd���s�|j���|jd��|j ��\}}||j d�d��<�t|�dk�r|d�}|jjd|�jj|���t|d��} t| j��|d�} W�d�Q�R�X�|dd�d�d�}t| |d�|j|j��n|j���|S�)Nr���)�OptionParserz@cProfile.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?���r@����choicesr����rbr,���r'���)�__file__r1����__package__� __cached__r0���)�os�sysr���Zoptparser;���Zallow_interspersed_argsZ add_option�sortedr���Zsort_arg_dict_default�argvZprint_usage�exit� parse_args�len�path�insert�dirnamer����compile�readr���r=���r ���)rF���rG���r���r;���r<����parserZoptionsr-���Zprogname�fpr!���Zglobsr���r���r����main{���s8���� rT���r'���r0���)Nr0���r0���)Nr0���)r4����__all__Z_lsprofZprofiler���r���r���ZProfilerr���r ���rT���r1���r���r���r���r����<module>���s��� X%