
    5i4                         d dl Z d dlZd dlZddlmZ dZdZdededej                  e	ef   fd	Z
dd
Zedk(  r e        yy)    N   )crc32ci  @
   size
iterationsreturnc                     d| z  }t        j                         }d}	 ||z  }t        |      D cg c]  }t        |       c} t        j                         |z
  }|dkD  r	 ||fS Ic c}w )N    r   )time	monotonicranger   )r   r   datastartevaluations_durations          r/home/marpiech/ifpan-abm-pgxpred/analysis/marpiech-gwas-test/venv/lib/python3.12/site-packages/crc32c/benchmark.pyrunr      sn    $;DNNEK
z!$Z01!1>>#e+a<[   1s   A&c            	         t        j                         } | j                  ddt        dt         t               | j                  ddt        dt
         t
               | j                         }t        |j                  |j                        \  }}|j                  dz  dz  }|dz  |z  |z  }t        d	|d
d|d
d| d       y )Nz-sz--sizez)Amount of bytes to checksum, defaults to )typehelpdefaultz-iz--iterationszFNumber of times the checksum should we run over the data, defaults to i   zcrc32c ran at z.3fz [GB/s] when checksuming z [MB] z times)argparseArgumentParseradd_argumentintDEFAULT_SIZEDEFAULT_ITERATIONS
parse_argsr   r   r   print)parseroptionsr   r   size_mbavg_speed_gbss         r   mainr%      s    $$&F
8G   UVhUij"   !Gg.@.@AHkllT!D(GdN[08;M	
s++DWSMQWXcWddjk    __main__)r   N)r   r   typing_crc32cr   r   r   r   Tuplefloatr   r%   __name__ r&   r   <module>r.      s\         
!c 
!s 
!v||E3J'? 
!6 zF r&   