a
    V$c                     @   s   d dl mZmZmZmZmZ d dlmZmZm	Z	m
Z
mZmZmZmZmZmZmZmZ d dlZd dlZg adZdadd Zdd	 Zd
d Zeed< dd ZdS )    )divisionabsolute_importwith_statementprint_functionunicode_literals)PY2
basestringbchrbordchropenpystrrangeroundstrtobytesunicodeN   Fc                   C   s   g a dad S )NT)fplrunning r   r   renpy/performance.pyclear+   s    r   c                 G   s*   t jjrtsd S tt | ||f d S )N)renpyconfigprofiler   r   appendtime)deptheventargsr   r   r   log3   s    r!   c                 G   s>   t | tkr$| }|d } |dd  }d}t|| g|R   d S )Nr         )typeintr!   )r   r    levelr   r   r   PPP;   s    r'   c            	         s2  t sdS tjjdk rdS t d d } t D ] \}}}|tjjkr(} qNq(dS ||  tjjk rltjjjsldS d}tj	j
| tjj	| t d d gt }t D ]\ }} fddt|D }d|d |d |d	 |d
 |j| dd}tj	j
| tjj	| t tD ]}||< qqdS )z.
    Analyze the FPL and prints a report.
    N   r   
c                    s(   g | ] \}}| kr d |  ndqS )i@B r   r   ).0iitr   tr   r   
<listcomp>i       zanalyze.<locals>.<listcomp>z'{: 7.0f} {: 7.0f} {: 7.0f} {: 7.0f} {}
r"      r#   %z%%)r   r   r   framesprofile_to_eventprofile_timedisplay	interfaceprofile_oncer!   real_stdoutwriteDEPTH_LEVELS	enumerateformatreplacer   )	start_r   endstimesr    dtr+   r   r-   r   analyzeJ   s:    rE   )
__future__r   r   r   r   r   renpy.compatr   r   r	   r
   r   r   r   r   r   r   r   r   r   r   r   r;   r   r   r!   r'   __builtins__rE   r   r   r   r   <module>   s   8