B
    F.\J                 @   sl   d dl mZmZmZ d dlZd dlZd dlZd dlmZ d dl	m
Z
 d dlmZ dd Zdd	 Zd
d ZdS )    )print_functiondivisionabsolute_importN)metrics)PY3)run_forc                 s   xt dD ]} td t }dd t dD   fddt t d D }t|dksdt|t|d	ksxt|td
d |D st||d  d   k r|d k s
n tq
W d S )N   g{Gz?c             S   s   g | ]}t  qS  )r   time).0jr	   r	   =lib/python3.7/site-packages/distributed/tests/test_metrics.py
<listcomp>   s    z#test_wall_clock.<locals>.<listcomp>2   c                s    g | ]} |d    |  qS )   r	   )r   r   )samplesr	   r   r      s    r   g        g      ?c             s   s   | ]}d d V  qdS )c             S   s   d|   k odk S   S )Ng        g-C6?r	   )dr	   r	   r   <lambda>   s    z+test_wall_clock.<locals>.<genexpr>.<lambda>Nr	   )r   r   r	   r	   r   	<genexpr>   s    z"test_wall_clock.<locals>.<genexpr>g      ?r   )ranger
   sleeplenminAssertionErrormaxany)itZdeltasr	   )r   r   test_wall_clock   s    
r   c              C   s   t  } td t  |  }d|  kr0dks6n ttjtdd}t  } |  |  t  |  }|dkstttrt  } t	
d t  |  }|dkstd S )Ng?gQ?g?)g?)targetargsg?)r   Zprocess_timer   r   	threadingThreadstartjoinr   r
   r   )r#   dtr   r	   r	   r   test_process_time   s    
r&   c              C   s   t  } td t  |  }d|  kr0dks6n ttrt  } td t  |  }|dksdttjdkrt	j
tdd}t  } |  |  t  |  }|dkstd S )Ng?gQ?g?g?Zlinux)g?)r   r    )r   Zthread_timer   r   r   r
   r   sysplatformr!   r"   r#   r$   )r#   r%   r   r	   r	   r   test_thread_time0   s     

r)   )Z
__future__r   r   r   r'   r!   r
   Zdistributedr   Zdistributed.compatibilityr   Zdistributed.utils_testr   r   r&   r)   r	   r	   r	   r   <module>   s   