ó
\c           @  sr   d  d l  m Z m Z d  d l Z d  d l Z g  a d Z e a d   Z	 d   Z
 d   Z e e d <d   Z d S(	   i’’’’(   t   print_functiont   unicode_literalsNi   c           C  s   g  a  t a d  S(   N(   t   fplt   Truet   running(    (    (    s   renpy/performance.pyt   clear)   s    c         G  s;   t  j j s t r d  St j t j   |  | | f  d  S(   N(   t   renpyt   configt   profileR   R   t   appendt   time(   t   deptht   eventt   args(    (    s   renpy/performance.pyt   log1   s    c         G  sI   t  |   t k r/ |  } | d }  | d } n  d } t | |  |  d  S(   Ni    i   i   (   t   typet   intR   (   R   R   t   level(    (    s   renpy/performance.pyt   PPP9   s    
u   PPPc       	   C  sĪ  t  s
 d St j j d k  r  d St  d d }  x: t  D]. \ } } } } | t j j k r5 | } Pq5 q5 Wd S| |  t j j k  r d Sd } | j d  } t j j j	 |  t j
 j j	 |  t  d d g t } xņ t  D]ź \ } } } } g  t |  D], \ }	 }
 |	 | k r!d | |
 n d ^ qū } d j | d | d | d	 | d
 | j |   j d d   } | j d  } t j j j	 |  t j
 j j	 |  x! t | t  D] }	 | | |	 <q²WqÜ Wd S(   u.   
    Analyze the FPL and prints a report.
    Ni   i    u   
u   utf-8i@B u'   {: 7.0f} {: 7.0f} {: 7.0f} {: 7.0f} {}
i   i   i   u   %u   %%(   R   R   R   t   framest   profile_to_eventt   profile_timet   encodeR   t   real_stdoutt   writet   displayt   DEPTH_LEVELSt	   enumeratet   formatt   replacet   range(   t   startt   tt   _R   t   endt   st   timesR   R   t   it   itt   dt(    (    s   renpy/performance.pyt   analyzeH   s<    ?(   t
   __future__R    R   R
   R   R   R   t   FalseR   R   R   R   t   __builtins__R(   (    (    (    s   renpy/performance.pyt   <module>   s   			
