File: //usr/local/lib/python3.7/test/__pycache__/time_hashlib.cpython-37.pyc
B
��g � @ s> d dl Z d dlZd dlZdd� Zdd� Zdd� Zdd � Ze jd
Zedkrte de � e d
e d � e
ded� n�edkr�ee j�dkr�d dlZe de jd � e
de jd e
ee jd �� n�edk�ree j�dk�rd dlZe de jd � e
de jd � nVeee��rLee
ee�d��rLe
ee�Ze
de e
ee�� ne de � e
de � y
e� W nT ek
�r� e
� e
d� e
d� e
d� e
d� e
d � e
d!� e
� � Y nX e� ed"d#d$� ed%d&d$� ed'd(d$� ed)d*d$� ed+d,d$� ed-d.d$� ed/d0d$� ee� jd1d$� ed2d3d$� dS )4� Nc C s t d��d S )Nzeek, creatorFunc not overridden)�RuntimeError� r r �-/usr/local/lib/python3.7/test/time_hashlib.py�creatorFunc s r c C sj d| d }d| }t }t�� }xt|�D ]}||��� }q*W t�� }td|| d|dt|�d|� d S )Niٞ � � Zz%2.2f�seconds�x�bytes)r �time�perf_counter�range�digest�print�len) �scale�nameZ
iterationsZlongStrZlocalCF�start�fr �endr r r �test_scaled_msg s r c C s@ t �� } xtd�D ]
}t� }qW t �� }td|| dd� d S )Ni N z%2.2fr z[20000 creations])r r r
r r )r r �dr r r r �test_create s
r c C sD t �� } xtd�D ]}t� �� }qW t �� }td|| dd� d S )Ni N z%2.2fr z[20000 "" digests])r r r
r r r )r r r r r r r � test_zero s
r � )Z_md5Z_shazimport zcreatorFunc = z.newztesting speed of oldzlegacy interface�_hashlib� zcreatorFunc = _hashlib.%s� ztesting speed of _hashlib.%sz+creatorFunc = lambda x=_hashlib.new : x(%r)z!testing speed of _hashlib.new(%r)�__call__ztesting speed of hashlib.z*creatorFunc = lambda x=hashlib.new : x(%r)z testing speed of hashlib.new(%r)z8pass argument(s) naming the hash to run a speed test on:z6 '_md5' and '_sha' test the legacy builtin md5 and shaz= '_hashlib' 'openssl_hName' 'fast' tests the builtin _hashlibz6 '_hashlib' 'hName' tests builtin _hashlib.new(shaFOO)z> 'hName' tests the hashlib.hName() implementation if it existsz. otherwise it uses hashlib.new(hName).iٞ z[huge data])r r i|) z[large data]i& z
[medium data]i� z[4*small data]iP z[3*small data]�� z[2*small data]�j z[small data]z[digest_size data]�
z[tiny data])�sysr Zhashlibr r r r �argvZhName�execr r r �getattr�hasattr�
ValueErrorZdigest_sizer r r r �<module> s\
"