Team Ai
Datasetpublic

codekingpro/portable-devtools

sourceHugging Faceupdated 5mo agoView on Hugging Face
1likes14kdownloads
sortperf.cpython-314.pyc53 linesDownload Raw Back to __pycache__
1+
2��i�����Rt^RIHt^RIt^RIt^RItRRltRRltRRltR	R3lt	RRlt4R
RltRRltRRlt
RRltRRlt!RR4tRRltRRltR,t^tR]R]R]	R ]5R!]R"]R#]
R$]R%]/	t]R&8Xd�^RIt]P0!]R'7t]!]P44]P74tR(]P:R)&]P<]P:R*&]P>]P:R+&]P@'d]P@3t!M]"!]4t!]!F=t#]!]#]P<]P>4t ]PI]#] PJ4K?	R#R#)-a~6List sort performance test.7 8To install `pyperf` you would need to:9 10    python3 -m pip install pyperf11 12To run:13 14    python3 Tools/scripts/sortperf15 16Options:17 18    * `benchmark` name to run19    * `--rnd-seed` to set random seed20    * `--size` to set the sorted list size21 22Based on https://github.com/python/cpython/blob/963904335e579bfe39101adf3fd6a0cf705975ff/Lib/test/sortperf.py23)�annotationsNc�$�V^8�dQhRRRRRR/#���size�int�randz
random.Random�return�list[float]�)�formats"�Tools\scripts\sortperf.py�__annotate__r s!����s��-��K��c� �\V4Uu.uFq!P4NK	pp\^244F@pVPV4pVRVpVRV1VP4VP	V4?KB	\V4V8XgQhV#uupi)�25N)�range�random�	randrange�reverse�extend�len)rr�_�result�i�temps&&    r
�_random_datar s���%*�4�[�
1�[��k�k�m�[�F�
1�
�2�Y���N�N�4� ���b�q�z���2�A�2�J������
�
�d���
��v�;�$�����M��2s�Bc�$�V^8�dQhRRRRRR/#rr)rs"r
rr.s!��$�$�C�$�}�$��$rc��\W4#�N)r�rrs&&r
�	list_sortr!.s
����#�#rc�$�V^8�dQhRRRRRR/#rr)rs"r
rr2s!��;�;�s�;�-�;�K�;rc�<�\\\W444#r)�list�reversed�list_sort_ascendingr s&&r
�list_sort_descendingr'2s����,�T�8�9�:�:rc�$�V^8�dQhRRRRRR/#rr)rs"r
rr6s!��,�,�c�,��,�;�,rc�*�\\W44#r)�sortedrr s&&r
r&r&6s���,�t�*�+�+rc�$�V^8�dQhRRRRRR/#rr)rs"r
rr:s!������=��[�rc��\W4p\^4F:pVPV4pVPV4pW%,W$,uW$&W%&K<	V#)�)r&rr)rrrr�i1�i2s&&    r
�list_sort_ascending_exchangedr0:sQ��
 ��
,�F�
�1�X��
�^�^�D�
!��
�^�^�D�
!��!'��V�Z���26�F�J���Mrc�$�V^8�dQhRRRRRR/#rr)rs"r
rrDs!����S��
��+�rc��V^278�gQR4h\W4p\^284Uu.uFq1P4NK	upVRR%V#uupi)rz(This benchmark requires size to be >= 10Ni����)r&rr�rrrrs&&  r
�list_sort_ascending_randomr4DsJ���2�:�A�A�A�:�
 ��
,�F�+0��9�5�9�a�K�K�M�9�5�F�3�4�L��M��6s�Ac�$�V^8�dQhRRRRRR/#rr)rs"r
rrLs!����#��]��{�rc��\W4p\V^d,4F$pVP4W!PV4&K&	V#)�d)r&rrrr3s&&  r
�list_sort_ascending_one_percentr8Ls;��
 ��
,�F�
�4�3�;�
��'+�{�{�}��~�~�d�#�$� ��Mrc�$�V^8�dQhRRRRRR/#rr)rs"r
rrTs!��"�"�s�"�-�"�K�"rc�|�V^8�gQh\^V4pW ^,,p\\\V44#)�)r&r$�map�abs)rrrs&& r
�list_sort_duplicatesr>Ts:���1�9��9�
 ��D�
)�F�
�q�y�
!�F���C�� �!�!rc�$�V^8�dQhRRRRRR/#rr)rs"r
rr^s!��.�.�#�.�]�.�{�.rc�D�\\\R.V,44#)g�h�
���?g�h�
���)r$r<r=r s&&r
�list_sort_equalrA^s����C�)��t�+�,�-�-rc�$�V^8�dQhRRRRRR/#rr)rs"r
rrcs!��	$�	$�s�	$�-�	$�K�	$rc��V^,p\\V^,29RR44pVP\V44\\\V44#)r�����)r$rrr<�float)rr�halfrs&&  r
�list_sort_worst_caserGcsH���1�9�D�
�%��q��"�b�)�
*�F�30�M�M�%��+����E�6�"�#�#rc�:�]tRt^stRRltRRltRRltRtR#)	�	Benchmarkc�(�V^8�dQhRRRRRRRR/#)r�name�strrr�seedr	�Noner)rs"r
r�Benchmark.__annotate__ts(��1�1�S�1��1�3�1�4�1rc	�t�WnW nW0n\P!VP4VnR#r)�_name�_size�_seedr�Random�_random)�selfrKrrMs&&&&r
�__init__�Benchmark.__init__ts%���31��32��33��}�}�T�Z�Z�0��rc� �V^8�dQhRRRR/#)r�loopsrr	rEr)rs"r
rrOzs��+�+��+��+rc	��VPV4p\P!4pVFpVP4K	\P!4V,34#r)�
_prepare_data�time�perf_counter�sort)rVrZ�all_data�start�datas&&   r
�run�
Benchmark.runzsI���%�%�e�,���!�!�#���D��I�I�K��� � �"�U�*�*rc� �V^8�dQhRRRR/#)rrZrr	r35r)rs"r
rrO�s��3�3�3�3�;�3rc	���\VP,pV!VPVP4p\	V4Uu.uFqCP4NK	up#uupir)�36BENCHMARKSrQrRrUr�copy)rVrZ�benchrbrs&&   r
r\�Benchmark._prepare_data�sD���4�:�:�&���T�Z�Z����.��%*�5�\�2�\��	�	��\�2�2��2s�A)rQrUrSrRN)�__name__�37__module__�__qualname__�__firstlineno__rWrcr\�__static_attributes__rrr
rIrIss��1�+�3�3rrIc� �V^8�dQhRRRR/#)r�cmdz	list[str]r	rNr)rs"r
rr�s��.�.�)�.�d�.rc���VP'dVPVP4VPRVP24VPRVP24R#)z--size=z--rng-seed=N)�	benchmark�appendr�rng_seed)rq�argss&&r
�add_cmdline_argsrw�sI���~�~�~��38�39�4�>�>�"��J�J������$�%��J�J��T�]�]�O�,�-rc� �V^8�dQhRRRR/#)r�parserzargparse.ArgumentParserr	rNr)rs"r
rr�s����3���rc40��VPR\RRPRP\44R7VPR\\41R\42R2R7VPR	\\R43\R2R7R#)rs�?zCan be any of: {0}z, )�choices�nargs�helpz--sizez$Size of the lists to sort (default: �))�type�defaultr~z44--rng-seedz'Random number generator seed (default: N)�add_argumentrgr�joinr�DEFAULT_SIZE�DEFAULT_RANDOM_SEED)rys&r
�add_parser_argsr��s���45������
!�
(�
(����:�)>�
?�	������
��3�L�>��
C�	������
�#�6�7J�6K�1�
M�	�rr!r'r&r0r4r8r>rArG�__main__)rwz&Test `list.sort()` with different data�description�list_sort_size�list_sort_random_seedi@)&�__doc__�46__future__r�argparser]rrr!r'r&r0r4r8r>rArGrIrwr�r�r�rgrk�pyperf�Runner�runner�	argparser�47parse_argsrv�metadatarrurs�48benchmarksr*ri�bench_time_funcrcrrr
�<module>r�sj���(#���
��$�;�,����"�.�49	$� 3�3�,.��*�������0��.�#�%B� �"<�%�'F��0����0�50�51��z���
�]�]�,<�
=�F��F�$�$�%�����D�%M�F�O�O�M�"�(,�	�	�F�O�O�$�%�/3�}�}�F�O�O�+�,��~�~�~��n�n�&�52��J�'�53����e�T�Y�Y��
�
�>�	����u�i�m�m�4��!r
codekingpro/portable-devtools · Team Ai