File: //opt/alt/python37/lib64/python3.7/__pycache__/cProfile.cpython-37.opt-1.pyc
B
    � fm  �               @   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 �t��| ||�S )N)�
_pyprofile�_Utilsr   r   )�	statement�filename�sort� r   �-/opt/alt/python37/lib64/python3.7/cProfile.pyr      s    c             C   s   t �t��| ||||�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 }|�| ��� �|���  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|� 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   | � �  | ��  d S )N)�disable�snapshot_stats)r   r   r   r   r   2   s    zProfile.create_statsc          
   C   s6  | � � }i | _i }xX|D ]P}t|j�}|j}||j }|j}|j}i }	|	|t|j�<