o
    ॵi                     @   s,   d dl Z d dlZG dd deZdd ZdS )    Nc                   @   sJ   e Zd Zdd Zedd Zdd Zddd	Zd
d Zdd Z	dd Z
dS )Timerc                 C   s   |    dS )z'Recorder of time consumption.

        N)resetself r   J/home/ubuntu/.local/lib/python3.10/site-packages/modelscope/utils/timer.py__init__
   s   zTimer.__init__c                 C   s   | j dkr| j| j  S dS )Nr           )calls
total_timer   r   r   r   average_time   s   zTimer.average_timec                 C   s   t   | _d S N)time
start_timer   r   r   r   tic   s   z	Timer.ticTc                 C   s$   |  t | j  |r| jS | jS r   )addr   r   r   diff)r   averager   r   r   toc   s   z	Timer.tocc                 C   s(   || _ |  j| j 7  _|  jd7  _d S )N   )r   r   r
   )r   	time_diffr   r   r   r       s   z	Timer.addc                 C   s   d| _ d| _d| _d| _d S )Nr	   r   )r   r
   r   r   r   r   r   r   r   %   s   
zTimer.resetc                 C   s   t tj| jd}|S N)seconds)strdatetime	timedeltar   )r   time_strr   r   r   avg_time_str+   s   zTimer.avg_time_strN)T)__name__
__module____qualname__r   propertyr   r   r   r   r   r   r   r   r   r   r      s    

r   c                 C   s   t tj| d}|S r   )r   r   r   )r   r   r   r   r   get_time_str0   s   r"   )r   r   objectr   r"   r   r   r   r   <module>   s   (