f
��_� 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 sh t j�td| �}zt|d�}W n� ty� tj� � fdd�t| �D �}zxzJt|d�}t� ||� |�
� d}W |r�zt �|� W n: ty� Y n*0 |r�zt �|� W 0 ty� Y 0 0 0 W n2 ty� } ztd|d|� W Y d}~n
d}~0 0 Y nX0 t�
|�}|�
� td �D ]:}t�| �}|d|� }|d|�= |�� |�|� ~�qt|�| k�sdJ �|S )
z+Return a list of n random floats in [0, 1).zrr%06dZrbc s g | ]
}� � �qS � r )�.0�i��rr �&/usr/lib64/python3.10/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|>