Ë
    6•±jSC  ã                   ó”   — d dl Z d dlZd dlZd dlmZ dd„Zdd„Zdd„Zdd„Zdd„Z	dd„Z
dd	„Zdd
„Zdd„Zdd„Zdd„Zdd„Zedk(  ryy)é    N©Úwrapsc                 ó2   ‡ ‡— t        ‰ «      ˆ ˆfd„«       }|S )Nc                  óh  •— t         j                  j                  dt        ‰«      z   dz   ‰j                  z   dz   «       t         j                  j                  «        t        d«       t        j                  «        t        j                  «        t        j                  «       }t        ‰«      D ]
  } ‰| i |¤Ž}Œ t        j                  «       }t        j                  «        t        j                  «        t        t        ‰«      dz   ‰j                  z   dz   t        ||z
  «      z   dz   «       S ©Nz	Starting z repetitions of z()...ú z : ú sec©ÚsysÚstdoutÚwriteÚstrÚ__name__ÚflushÚprintÚgcÚcollectÚdisableÚtimeÚrangeÚenable©ÚargsÚkwargsÚstartÚxÚresultÚendÚfuncÚrepetitionss         €€úf/var/www/passport.vulcan-creative.com/venv/lib/python3.12/site-packages/Naked/toolshed/benchmarking.pyÚwrapperztimer.<locals>.wrapper   óä   ø€ ä�
‰
×Ñ˜¤s¨;Ó'7Ñ7Ð:LÑLÈtÏ}É}Ñ\Ð_fÑfÔgÜ�
‰
×ÑÔÜˆcŒ
ä
�
‰
ŒÜ
�
‰
ŒÜ—	‘	“ˆÜ�{Ó#ò 	+ˆAÙ˜4Ð* 6Ñ*‰Fð	+ä�i‰i‹kˆÜ
�	‰	ŒÜ
�
‰
ŒÜŒc�+ÓÐ!3Ñ3°d·m±mÑCÀeÑKÌcÐRUÐV[ÑR[ËnÑ\Ð_eÑeÔfØˆó    r   ©r   r    r"   s   `` r!   Útimerr&      ó    ù€ Ü
ˆ4ƒ[ôó ðð €Nr$   c                 ó2   ‡ ‡— t        ‰ «      ˆ ˆfd„«       }|S )Nc                  óh  •— t         j                  j                  dt        ‰«      z   dz   ‰j                  z   dz   «       t         j                  j                  «        t        d«       t        j                  «        t        j                  «        t        j                  «       }t        ‰«      D ]
  } ‰| i |¤Ž}Œ t        j                  «       }t        j                  «        t        j                  «        t        t        ‰«      dz   ‰j                  z   dz   t        ||z
  «      z   dz   «       S r   r
   r   s         €€r!   r"   ztimer_10.<locals>.wrapper,   r#   r$   r   r%   s   `` r!   Útimer_10r*   +   r'   r$   c                 ó2   ‡ ‡— t        ‰ «      ˆ ˆfd„«       }|S )Nc                  óh  •— t         j                  j                  dt        ‰«      z   dz   ‰j                  z   dz   «       t         j                  j                  «        t        d«       t        j                  «        t        j                  «        t        j                  «       }t        ‰«      D ]
  } ‰| i |¤Ž}Œ t        j                  «       }t        j                  «        t        j                  «        t        t        ‰«      dz   ‰j                  z   dz   t        ||z
  «      z   dz   «       S r   r
   r   s         €€r!   r"   ztimer_100.<locals>.wrapper?   r#   r$   r   r%   s   `` r!   Ú	timer_100r-   >   r'   r$   c                 ó2   ‡ ‡— t        ‰ «      ˆ ˆfd„«       }|S )Nc                  óh  •— t         j                  j                  dt        ‰«      z   dz   ‰j                  z   dz   «       t         j                  j                  «        t        d«       t        j                  «        t        j                  «        t        j                  «       }t        ‰«      D ]
  } ‰| i |¤Ž}Œ t        j                  «       }t        j                  «        t        j                  «        t        t        ‰«      dz   ‰j                  z   dz   t        ||z
  «      z   dz   «       S r   r
   r   s         €€r!   r"   ztimer_1k.<locals>.wrapperR   r#   r$   r   r%   s   `` r!   Útimer_1kr0   Q   r'   r$   c                 ó2   ‡ ‡— t        ‰ «      ˆ ˆfd„«       }|S )Nc                  óh  •— t         j                  j                  dt        ‰«      z   dz   ‰j                  z   dz   «       t         j                  j                  «        t        d«       t        j                  «        t        j                  «        t        j                  «       }t        ‰«      D ]
  } ‰| i |¤Ž}Œ t        j                  «       }t        j                  «        t        j                  «        t        t        ‰«      dz   ‰j                  z   dz   t        ||z
  «      z   dz   «       S r   r
   r   s         €€r!   r"   ztimer_10k.<locals>.wrappere   r#   r$   r   r%   s   `` r!   Ú	timer_10kr3   d   r'   r$   c                 ó2   ‡ ‡— t        ‰ «      ˆ ˆfd„«       }|S )Nc                  óh  •— t         j                  j                  dt        ‰«      z   dz   ‰j                  z   dz   «       t         j                  j                  «        t        d«       t        j                  «        t        j                  «        t        j                  «       }t        ‰«      D ]
  } ‰| i |¤Ž}Œ t        j                  «       }t        j                  «        t        j                  «        t        t        ‰«      dz   ‰j                  z   dz   t        ||z
  «      z   dz   «       S r   r
   r   s         €€r!   r"   ztimer_1m.<locals>.wrapperx   r#   r$   r   r%   s   `` r!   Útimer_1mr6   w   r'   r$   c                 ó6   ‡ ‡‡— t        ‰ «      ˆ ˆˆfd„«       }|S )Nc                  ó$  •— t         j                  j                  d‰j                  z   dz   «       t         j                  j	                  «        g }g }t        j                  «        t        j                  «        t        ‰«      D �]  }t        j                  «       }t        ‰«      D ]
  } ‰| i |¤Ž Œ t        j                  «       } ‰| i |¤Ž}|j                  ||z
  «       g }	t        j                  «       }
t        ‰«      D ]#  }t        d«      D ]  }|	j                  |«       Œ Œ% t        j                  «       }|j                  ||
z
  «       t         j                  j                  d«       t         j                  j	                  «        �Œ t        j                  «        t        j                  «        t        d«       d}|D ]-  }t        dt        |«      z   dz   t        |«      z   «       |dz  }Œ/ t        d	«       t        |«      t        |«      z  }t        |«      t        |«      z  }t        d
t        ‰«      z   dz   t        |«      z   dz   «       	 dd l}|j#                  |«      }t        dt        |j%                  |«      «      z   «       t        dt        |‰z  «      z   dz   «       t        d
t        ‰«      z   dz   t        |«      z   dz   «       t        dt        ||z  «      z   «       S # t&        $ r
}Y d }~Œpd }~ww xY w©NzStarting timed trials of z()é
   ú.r   é   zTrial z:	z2--------------------------------------------------z	Mean for z repetitions: r	   r   zStandard Deviation: zMean per repetition: z of benchmark function:zRatio: ©r   r   r   r   r   r   r   r   r   r   Úappendr   r   r   ÚsumÚlenÚnumpyÚarrayÚstdÚImportError©r   r   Úresult_listÚbenchmark_listr   r   Úyr   r   ÚLÚstart2ÚjÚiÚend2ÚnÚrunÚmeanÚmean_benchmarkÚnprB   Úier   r    Útrialss                        €€€r!   r"   z'timer_trials_benchmark.<locals>.wrapper™   ó•  ø€ ä�
‰
×ÑÐ4°t·}±}ÑDÀtÑKÔLÜ�
‰
×ÑÔØˆØˆä
�
‰
ŒÜ
�
‰
ŒÜ�v“ó 	ˆAä—I‘I“KˆEÜ˜;Ó'ò &�Ù�dÐ%˜fÓ%ð&ä—)‘)“+ˆCÙ˜4Ð* 6Ñ*ˆFØ×Ñ˜s 5™yÔ)àˆAÜ—Y‘Y“[ˆFÜ˜;Ó'ò  �Ü˜r›ò  �AØ—H‘H˜Q•Kñ ð ô —9‘9“;ˆDØ×!Ñ! $¨¡-Ô0Ü�J‰J×Ñ˜SÔ!Ü�J‰J×ÑÖð#	ô$ 	�	‰	ŒÜ
�
‰
ŒÜˆcŒ
ØˆØò 	ˆCÜ�(œS ›VÑ# eÑ+¬c°#«hÑ6Ô7Ø�‰F‰Að	ô 	ˆfŒÜ�;Ó¤ KÓ 0Ñ0ˆÜ˜^Ó,¬S°Ó-@Ñ@ˆÜˆkœC Ó,Ñ,Ð/?Ñ?Ä#ÀdÃ)ÑKÈfÑTÔUð	ÛØ—H‘H˜[Ó)ˆEÜÐ)¬C°·±°u³Ó,>Ñ>Ô?ô 	Ð%¬¨D°Ñ,<Ó(=Ñ=ÀÑFÔGÜˆkœC Ó,Ñ,Ð/HÑHÌ3È~ÓK^Ñ^ÐagÑgÔhÜˆiœ#˜d >Ñ1Ó2Ñ2Ô3Øˆøô ò 	Üûð	úó   É;K< Ë<	LÌ
Lr   ©r   r    rT   r"   s   ``` r!   Útimer_trials_benchmarkrX   ˜   ó!   ú€ Ü
ˆ4ƒ[õ.ó ð.ð^ €Nr$   c                 ó6   ‡ ‡‡— t        ‰ «      ˆ ˆˆfd„«       }|S )Nc                  ó$  •— t         j                  j                  d‰j                  z   dz   «       t         j                  j	                  «        g }g }t        j                  «        t        j                  «        t        ‰«      D �]  }t        j                  «       }t        ‰«      D ]
  } ‰| i |¤Ž Œ t        j                  «       } ‰| i |¤Ž}|j                  ||z
  «       g }	t        j                  «       }
t        ‰«      D ]#  }t        d«      D ]  }|	j                  |«       Œ Œ% t        j                  «       }|j                  ||
z
  «       t         j                  j                  d«       t         j                  j	                  «        �Œ t        j                  «        t        j                  «        t        d«       d}|D ]-  }t        dt        |«      z   dz   t        |«      z   «       |dz  }Œ/ t        d	«       t        |«      t        |«      z  }t        |«      t        |«      z  }t        d
t        ‰«      z   dz   t        |«      z   dz   «       	 dd l}|j#                  |«      }t        dt        |j%                  |«      «      z   «       t        dt        |‰z  «      z   dz   «       t        d
t        ‰«      z   dz   t        |«      z   dz   «       t        dt        ||z  «      z   «       S # t&        $ r
}Y d }~Œpd }~ww xY wr9   r=   rE   s                        €€€r!   r"   z*timer_trials_benchmark_10.<locals>.wrapperÐ   rU   rV   r   rW   s   ``` r!   Útimer_trials_benchmark_10r\   Ï   rY   r$   c                 ó6   ‡ ‡‡— t        ‰ «      ˆ ˆˆfd„«       }|S )Nc                  ó$  •— t         j                  j                  d‰j                  z   dz   «       t         j                  j	                  «        g }g }t        j                  «        t        j                  «        t        ‰«      D �]  }t        j                  «       }t        ‰«      D ]
  } ‰| i |¤Ž Œ t        j                  «       } ‰| i |¤Ž}|j                  ||z
  «       g }	t        j                  «       }
t        ‰«      D ]#  }t        d«      D ]  }|	j                  |«       Œ Œ% t        j                  «       }|j                  ||
z
  «       t         j                  j                  d«       t         j                  j	                  «        �Œ t        j                  «        t        j                  «        t        d«       d}|D ]-  }t        dt        |«      z   dz   t        |«      z   «       |dz  }Œ/ t        d	«       t        |«      t        |«      z  }t        |«      t        |«      z  }t        d
t        ‰«      z   dz   t        |«      z   dz   «       	 dd l}|j#                  |«      }t        dt        |j%                  |«      «      z   «       t        dt        |‰z  «      z   dz   «       t        d
t        ‰«      z   dz   t        |«      z   dz   «       t        dt        ||z  «      z   «       S # t&        $ r
}Y d }~Œpd }~ww xY wr9   r=   rE   s                        €€€r!   r"   z+timer_trials_benchmark_100.<locals>.wrapper  rU   rV   r   rW   s   ``` r!   Útimer_trials_benchmark_100r_     rY   r$   c                 ó6   ‡ ‡‡— t        ‰ «      ˆ ˆˆfd„«       }|S )Nc                  ó$  •— t         j                  j                  d‰j                  z   dz   «       t         j                  j	                  «        g }g }t        j                  «        t        j                  «        t        ‰«      D �]  }t        j                  «       }t        ‰«      D ]
  } ‰| i |¤Ž Œ t        j                  «       } ‰| i |¤Ž}|j                  ||z
  «       g }	t        j                  «       }
t        ‰«      D ]#  }t        d«      D ]  }|	j                  |«       Œ Œ% t        j                  «       }|j                  ||
z
  «       t         j                  j                  d«       t         j                  j	                  «        �Œ t        j                  «        t        j                  «        t        d«       d}|D ]-  }t        dt        |«      z   dz   t        |«      z   «       |dz  }Œ/ t        d	«       t        |«      t        |«      z  }t        |«      t        |«      z  }t        d
t        ‰«      z   dz   t        |«      z   dz   «       	 dd l}|j#                  |«      }t        dt        |j%                  |«      «      z   «       t        dt        |‰z  «      z   dz   «       t        d
t        ‰«      z   dz   t        |«      z   dz   «       t        dt        ||z  «      z   «       S # t&        $ r
}Y d }~Œpd }~ww xY wr9   r=   rE   s                        €€€r!   r"   z*timer_trials_benchmark_1k.<locals>.wrapper6  rU   rV   r   rW   s   ``` r!   Útimer_trials_benchmark_1krb   5  rY   r$   c                 ó6   ‡ ‡‡— t        ‰ «      ˆ ˆˆfd„«       }|S )Nc                  ó$  •— t         j                  j                  d‰j                  z   dz   «       t         j                  j	                  «        g }g }t        j                  «        t        j                  «        t        ‰«      D �]  }t        j                  «       }t        ‰«      D ]
  } ‰| i |¤Ž Œ t        j                  «       } ‰| i |¤Ž}|j                  ||z
  «       g }	t        j                  «       }
t        ‰«      D ]#  }t        d«      D ]  }|	j                  |«       Œ Œ% t        j                  «       }|j                  ||
z
  «       t         j                  j                  d«       t         j                  j	                  «        �Œ t        j                  «        t        j                  «        t        d«       d}|D ]-  }t        dt        |«      z   dz   t        |«      z   «       |dz  }Œ/ t        d	«       t        |«      t        |«      z  }t        |«      t        |«      z  }t        d
t        ‰«      z   dz   t        |«      z   dz   «       	 dd l}|j#                  |«      }t        dt        |j%                  |«      «      z   «       t        dt        |‰z  «      z   dz   «       t        d
t        ‰«      z   dz   t        |«      z   dz   «       t        dt        ||z  «      z   «       S # t&        $ r
}Y d }~Œpd }~ww xY wr9   r=   rE   s                        €€€r!   r"   z+timer_trials_benchmark_10k.<locals>.wrapperi  rU   rV   r   rW   s   ``` r!   Útimer_trials_benchmark_10kre   h  rY   r$   c                 ó6   ‡ ‡‡— t        ‰ «      ˆ ˆˆfd„«       }|S )Nc                  ó$  •— t         j                  j                  d‰j                  z   dz   «       t         j                  j	                  «        g }g }t        j                  «        t        j                  «        t        ‰«      D �]  }t        j                  «       }t        ‰«      D ]
  } ‰| i |¤Ž Œ t        j                  «       } ‰| i |¤Ž}|j                  ||z
  «       g }	t        j                  «       }
t        ‰«      D ]#  }t        d«      D ]  }|	j                  |«       Œ Œ% t        j                  «       }|j                  ||
z
  «       t         j                  j                  d«       t         j                  j	                  «        �Œ t        j                  «        t        j                  «        t        d«       d}|D ]-  }t        dt        |«      z   dz   t        |«      z   «       |dz  }Œ/ t        d	«       t        |«      t        |«      z  }t        |«      t        |«      z  }t        d
t        ‰«      z   dz   t        |«      z   dz   «       	 dd l}|j#                  |«      }t        dt        |j%                  |«      «      z   «       t        dt        |‰z  «      z   dz   «       t        d
t        ‰«      z   dz   t        |«      z   dz   «       t        dt        ||z  «      z   «       S # t&        $ r
}Y d }~Œpd }~ww xY wr9   r=   rE   s                        €€€r!   r"   z*timer_trials_benchmark_1m.<locals>.wrapperœ  rU   rV   r   rW   s   ``` r!   Útimer_trials_benchmark_1mrh   ›  rY   r$   Ú__main__)é † )r:   )éd   )éè  )é'  )é@B )rj   r:   )r:   r:   )rk   r:   )rl   r:   )rm   r:   )rn   r:   )r   r   r   Ú	functoolsr   r&   r*   r-   r0   r3   r6   rX   r\   r_   rb   re   rh   r   © r$   r!   ú<module>rq      sh   ðó Û Û 	Ý óó0ó&ó&ó&ó&óB1ón1óf1óf1óf1óf1ðf ˆzÒØð r$   