B
�/g^� c @ sv d Z ddlZddlZddlZddlZddlZddlZe�� Zdd� Z dd� Z
dd� Zd d
� Zdd� Z
ed
krre
� dS )z_Sort performance test.
See main() for command line syntax.
See tabulate() for output format.
i Nc s6 t j�td| �}yt|d�}W n� tk
r� tj� � fdd�t| �D �}yVz&t|d�}t� ||� |�
� d}W d|r�yt �|� W n tk
r� Y nX X W n0 tk
r� } ztd|d|� W dd}~X Y nX Y nZX t�
|�}|�
� xDtd �D ]8}t�| �}|d|� }|d|�= |�� |�|� ~q�W |S )
z+Return a list of n random floats in [0, 1).zrr%06dZrbc s g | ]
}� � �qS � r )�.0�i��rr �%/usr/lib64/python3.7/test/sortperf.py�
<listcomp> � zrandfloats.<locals>.<listcomp>ZwbNzcan't writez:�
)�osZpathZjoin�tdZopenZOSError�random�range�marshalZdumpZcloseZunlink�printZload� randrange�reverse�extend)�nZfnZfpZresultZmsgr Ztempr r r �
randfloats s:
&
r c C s t j�� d S �N)�sysZstdout�flushr r r r r 8 s r c C s6 t �� }| �� t �� }td|| dd� t� d S )Nz%6.2f� �Zend)�timeZperf_counter�sortr r )�LZt0Zt1r r r �doit; s
r c
C s� t dd� dD ��}ddt|� }t|d| � �x�| D �]�}d|>