
    vj                     8    d dl Z d dlZ G d de          Zd ZdS )    Nc                   J    e Zd Zd Zed             Zd Zd
dZd Zd Z	d Z
d	S )Timerc                 .    |                                   dS )z'Recorder of time consumption.

        N)resetselfs    f/lsinfo/ai/hellotax_ai/data_center/backend/venv/lib/python3.11/site-packages/modelscope/utils/timer.py__init__zTimer.__init__
   s     	

    c                 :    | j         dk    r| j        | j         z  ndS )Nr           )calls
total_timer   s    r	   average_timezTimer.average_time   s     /3zA~~t++3Fr   c                 6    t          j                     | _        d S N)time
start_timer   s    r	   ticz	Timer.tic   s     )++r   Tc                 ~    |                      t          j                    | j        z
             |r| j        S | j        S r   )addr   r   r   diff)r   averages     r	   tocz	Timer.toc   s:    t./// 	$$9r   c                 ^    || _         | xj        | j         z  c_        | xj        dz  c_        d S )N   )r   r   r   )r   	time_diffs     r	   r   z	Timer.add    s.    	49$

a



r   c                 >    d| _         d| _        d| _        d| _        d S )Nr   r   )r   r   r   r   r   s    r	   r   zTimer.reset%   s"    
			r   c                 T    t          t          j        | j                            }|S N)seconds)strdatetime	timedeltar   )r   time_strs     r	   avg_time_strzTimer.avg_time_str+   s%    x)$2CDDDEEr   N)T)__name__
__module____qualname__r
   propertyr   r   r   r   r   r&    r   r	   r   r      s           G G XG& & &
     
      r   r   c                 J    t          t          j        |                     }|S r    )r"   r#   r$   )r   r%   s     r	   get_time_strr-   0   s"    8%i88899HOr   )r#   r   objectr   r-   r+   r   r	   <module>r/      s]     % % % % %F % % %P    r   