a
Z��^� 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 sj t j�td| �}zt|d�}W n� ty� tj� � fdd�t| �D �}zzzLt|d�}t� ||� |�
� d}W |r�zt �|� W q� ty� Y q�0 n(|r�zt �|� W n ty� Y n0 0 W n2 ty� } ztd|d|� W Y d}~n
d}~0 0 Y nX0 t�
|�}|�
� td �D ]:}t�| �}|d|� }|d|�= |�� |�|� ~�qt|�| k�sfJ �|S )
z+Return a list of n random floats in [0, 1).zrr%06dZrbc s g | ]
}� � �qS � r )�.0�i��rr �%/usr/lib64/python3.9/test/sortperf.py�
<listcomp> � zrandfloats.<locals>.<listcomp>ZwbNzcan't writez:�
)�osZpathZjoin�tdZopenZOSError�random�range�marshalZdumpZcloseZunlink�printZload� randrange�reverse�extend�len)�nZfnZfpZresultZmsgr Ztempr r r �
randfloats sF
�*
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| � | D �]�}d|>