
    pj                         S r SSKJr  SSKrSSKrSSKrSSKrSSKJ	r	  \R                  S\4S j5       rS\\R                  /S4   S\\R                  /S4   4S	 jr\S
\R                  4S j5       r\S
\R                  4S j5       r\S
\R                  4S j5       r\S
\R                  4S j5       r\S
\R                  4S j5       r\S
\R                  4S j5       r\S
\R                  4S j5       r\S
\R                  4S j5       r\S
\R                  4S j5       r\S
\R                  4S j5       r\S
\R                  4S j5       r\S
\R                  4S j5       r\S
\R                  4S j5       r\S
\R                  4S j5       r\S
\R                  4S j5       r\S
\R                  4S j5       r\S
\R                  4S j5       r\S
\R                  4S j5       r \S
\R                  4S j5       r!\S
\R                  4S j5       r"\S
\R                  4S j5       r#\S
\R                  4S  j5       r$\S
\R                  4S! j5       r%\S
\R                  4S" j5       r&\S
\R                  4S# j5       r'\(S$:X  a9  \)" S% \RT                   5       5      (       a  \RV                  " 5         g\," S&5        gg)'z=Benchmarks for assigning large NumPy data to protobuf fields.    )CallableN)unittest_pb2	num_bytesc                 J    [         R                  " U 4[         R                  S9$ )N)shapedtype)npzerosuint8)r   s    f/var/www/html/pdf-tiff/venv/lib/python3.13/site-packages/google/protobuf/internal/message_benchmark.py
make_arrayr      s    	BHH	55    funcreturnc           
        ^  [         R                  [         R                  R                  [         R                  5      [         R                  R                  S/5      [         R                  R                  S5      [         R                  R                  S5      [        R                  " T 5      S[         R                  SS4U 4S jj5       5       5       5       5       5       nU$ )z&Decorates a function for benchmarking.r   i  @i  @stater   Nc                 \   > T" U 5        U R                   U R                  S5      -  U l        g Nr   )
iterationsrangebytes_processed)r   r   s    r   wrapperbenchmark.<locals>.wrapper   s'     	K!,,u{{1~=Er   )
google_benchmarkregisteroptionunitkMillisecond	arg_namesarg	functoolswrapsState)r   r   s   ` r   	benchmarkr$      s    
  0 = =>$$k]3/001??4>%++ > >  2 1 4 ? > 
.r   r   c                     [        U R                  S5      5      R                  [        R                  S9nU (       a-  [
        R                  " 5       nXR                  S S & U (       a  M,  g g Nr   r   )r   r   viewr	   int32r   TestAllTypesrepeated_int32r   arrmsgs      r   bench_build_message_via_slicer/   $   sL    5;;q>"''bhh'7#

#
#
%Cq 	r   c                     [        U R                  S5      5      R                  [        R                  S9nU (       a  [
        R                  " US9nU (       a  M  g g )Nr   r'   r+   )r   r   r(   r	   r)   r   r*   r   r-   _s      r   bench_build_messager4   ,   s@    5;;q>"''bhh'7#!!5A 	r   c                     [        U R                  S5      5      R                  [        R                  S9nU (       a7  [
        R                  " 5       nXR                  R                  S S & U (       a  M6  g g r&   )	r   r   r(   r	   r)   r   NestedTestAllTypespayloadr+   r,   s      r   $bench_build_message_nested_via_slicer8   3   sP    5;;q>"''bhh'7#

)
)
+C$'KKq! 	r   c                     [        U R                  S5      5      R                  [        R                  S9nU (       a%  [
        R                  " [        US9S9nU (       a  M$  g g Nr   r'   r1   r7   )r   r   r(   r	   r)   r   r6   dictr2   s      r   bench_build_nested_message_dictr=   ;   sE    5;;q>"''bhh'7#''C0HIA 	r   c                     [        U R                  S5      5      R                  [        R                  S9nU (       a0  [
        R                  " [
        R                  " US9S9nU (       a  M/  g g r:   )r   r   r(   r	   r)   r   r6   r*   r2   s      r    bench_build_nested_message_int32r?   B   sN    5;;q>"''bhh'7#''))=	A 	r   c                     U R                  S5      S-  nSU-  /S-  nU (       a0  [        R                  " [        R                  " US9S9nU (       a  M/  g g )Nr     a)repeated_cordr;   r   r   r6   r*   r   
chunk_sizestringsr3   s       r   bench_build_nested_message_cordrH   K   sN    {{1~%*:%'''))@	A 	r   c                     U R                  S5      S-  nSU-  /S-  nU (       a0  [        R                  " [        R                  " US9S9nU (       a  M/  g g )Nr   rA   rB   )repeated_string_piecer;   rD   rE   s       r   'bench_build_nested_message_string_piecerK   U   sN    {{1~%*:%'''))H	A 	r   c                     [         R                  R                  SS9/U R                  S5      S-  -  nU (       a0  [         R                  " [         R                  " US9S9nU (       a  M/  g g )N{   )bbr      )repeated_nested_messager;   )r   r*   NestedMessager   r6   )r   subsr3   s      r   )bench_build_nested_message_nested_messagerS   _   s]    

#
#
1
1S
1
9	:kk!n
$ 	''))$G	A 	r   c                    [        U R                  S5      5      R                  [        R                  S9n[
        R                  " 5       n[
        R                  " 5       nUR                  R                  U5        U (       aS  U R                  5         UR                  5         U R                  5         UR                  UR                  S S & U (       a  MR  g g r&   )r   r   r(   r	   float32r   r*   repeated_floatextendpause_timingClearresume_timingr   r-   r.   
msg_sources       r   bench_assign_repeated_floatr]   j   s    5;;q>"''bjj'9#!!##((**""3'	IIK	&55Cq	 	r   c                    [        U R                  S5      5      R                  [        R                  S9n[
        R                  " 5       n[
        R                  " 5       nUR                  R                  U5        U (       aS  U R                  5         UR                  5         U R                  5         UR                  UR                  S S & U (       a  MR  g g r&   )r   r   r(   r	   int64r   r*   repeated_int64rW   rX   rY   rZ   r+   r[   s       r   $bench_assign_repeated_int64_to_int32ra   w   s    5;;q>"''bhh'7#!!##((**""3'	IIK	&55Cq	 	r   c                    [        U R                  S5      5      R                  [        R                  S9n[
        R                  " 5       n[
        R                  " 5       nUR                  R                  U5        U (       aS  U R                  5         UR                  5         U R                  5         UR                  UR                  S S & U (       a  MR  g g r&   )r   r   r(   r	   float64r   r*   repeated_doublerW   rX   rY   rZ   rV   r[   s       r   %bench_assign_repeated_double_to_floatre      s    5;;q>"''bjj'9#!!##((**##C(	IIK	&66Cq	 	r   c                 6   [        U R                  S5      5      R                  [        R                  S9n[
        R                  " 5       nU (       aH  U R                  5         UR                  5         U R                  5         XR                  S S & U (       a  MG  g g r&   )r   r   r(   r	   r_   r   r*   rX   rY   rZ   r+   r,   s      r   !bench_assign_numpy_int64_to_int32rg      sm    5;;q>"''bhh'7#!!##	IIK	q	 	r   c                 6   [        U R                  S5      5      R                  [        R                  S9n[
        R                  " 5       nU (       aH  U R                  5         UR                  5         U R                  5         XR                  S S & U (       a  MG  g g r&   )r   r   r(   r	   rc   r   r*   rX   rY   rZ   rV   r,   s      r   "bench_assign_numpy_double_to_floatri      sm    5;;q>"''bjj'9#!!##	IIK	q	 	r   c                 P   [        U R                  S5      5      R                  [        R                  S9n[
        R                  " 5       nU (       aU  U R                  5         UR                  5         U R                  5         UR                  R                  U5        U (       a  MT  g g r&   )r   r   r(   r	   r)   r   r*   rX   rY   rZ   r+   rW   r,   s      r   bench_extend_int32rk      s    5;;q>"''bhh'7#!!##	IIK	c"	 	r   c                    [        U R                  S5      5      n[        R                  " 5       n[	        U5      Ul        UR                  5       nU (       a)  [        R                  R                  U5      nU (       a  M(  g g r   r   r   r   r*   
memoryviewoptional_bytesSerializeToString
FromStringr   r-   r.   	msg_bytesr3   s        r   bench_decode_from_bytesru      s\    5;;q>"#!!##!####%)!!,,Y7A 	r   c                    [        U R                  S5      5      n[        R                  " 5       n[	        U5      Ul        [	        UR                  5       5      nU (       a)  [        R                  R                  U5      nU (       a  M(  g g r   rn   rs   s        r   bench_decode_from_memoryviewrw      sa    5;;q>"#!!##!##..01)!!,,Y7A 	r   c                     [        U R                  S5      5      n[        R                  " 5       n[	        U5      Ul        U (       a  UR                  5       nU (       a  M  g g r   )r   r   r   r*   ro   rp   rq   )r   r-   r.   r3   s       r   bench_encode_into_bytesry      sF    5;;q>"#!!##!##A 	r   c                 6   [        U R                  S5      5      R                  [        R                  S9n[
        R                  " 5       nU (       aH  XR                  S S & U R                  5         UR                  5         U R                  5         U (       a  MG  g g r&   )r   r   r(   r	   r)   r   r*   r+   rX   rY   rZ   r,   s      r   bench_assign_int32r{      sm    5;;q>"''bhh'7#!!##q	IIK		 	r   c                 `   [        U R                  S5      5      R                  [        R                  S9n[
        R                  " 5       nXR                  S S & U (       aO  XR                  [        U5      S & U R                  5         XR                  S S & U R                  5         U (       a  MN  g g r&   )r   r   r(   r	   r)   r   r*   r+   lenrX   rZ   r,   s      r   bench_assign_extend_int32r~      s    5;;q>"''bhh'7#!!##Q%(s3xz"	q		 	r   c                 4   [        U R                  S5      5      R                  [        R                  S9nUS [        U5      S-   n[        R                  " 5       nUR                  R                  U5        U (       a  X#R                  S S S2'   U (       a  M  g g )Nr   r'      )
r   r   r(   r	   r)   r}   r   r*   r+   rW   )r   r-   half_arrr.   s       r   bench_assign_slice_int32r      sx    5;;q>"''bhh'7#3s8q=!(!!##C &ss 	r   c                 P   [        U R                  S5      5      R                  [        R                  S9n[
        R                  " 5       nU (       aU  U R                  5         UR                  5         U R                  5         UR                  R                  U5        U (       a  MT  g g r&   )r   r   r(   r	   r_   r   r*   rX   rY   rZ   r`   rW   r,   s      r   bench_extend_int64r      rl   r   c                 P   [        U R                  S5      5      R                  [        R                  S9n[
        R                  " 5       nU (       aU  U R                  5         UR                  5         U R                  5         UR                  R                  U5        U (       a  MT  g g r&   )r   r   r(   r	   rU   r   r*   rX   rY   rZ   rV   rW   r,   s      r   bench_extend_floatr      ss    5;;q>"''bjj'9#!!##	IIK	c"	 	r   c                 P   [        U R                  S5      5      R                  [        R                  S9n[
        R                  " 5       nU (       aU  U R                  5         UR                  5         U R                  5         UR                  R                  U5        U (       a  MT  g g r&   )r   r   r(   r	   rc   r   r*   rX   rY   rZ   rd   rW   r,   s      r   bench_extend_doubler     ss    5;;q>"''bjj'9#!!##	IIK	s#	 	r   c                    [        U R                  S5      5      n[        R                  " 5       nUR	                  5       nU (       a@  U R                  5         UR                  5         U R                  5         X2l        U (       a  M?  g g r   )	r   r   r   r*   tobytesrX   rY   rZ   rp   )r   r-   r.   	arr_bytess       r   bench_assign_bytesr     s^    5;;q>"#!!##kkm)	IIK	"	 	r   c                    [        U R                  S5      5      n[        R                  " 5       nU (       aJ  U R	                  5         UR                  5         U R                  5         [        U5      Ul        U (       a  MI  g g r   )	r   r   r   r*   rX   rY   rZ   ro   rp   r,   s      r   "bench_assign_bytes_with_conversionr     sY    5;;q>"#!!##	IIK	#CC	 	r   __main__c              #   B   #    U  H  oR                  S 5      v   M     g7f)z--benchmark_filterN)
startswith).0r    s     r   	<genexpr>r   )  s     B#,	-	-s   z3No benchmark filter specified. Skipping benchmarks.)-__doc__collections.abcr   r!   sysr   numpyr	   google.protobufr   cacheintr   r#   r$   r/   r4   r8   r=   r?   rH   rK   rS   r]   ra   re   rg   ri   rk   ru   rw   ry   r{   r~   r   r   r   r   r   r   __name__anyargvmainprint r   r   <module>r      s   C $  
   ( 6# 6 6
$**+T1
2%%&,-$  )9)?)?     6/55 6 6 (0@0F0F ( ( J+;+A+A J J ,<,B,B   +;+A+A   3C3I3I   5E5K5K   	6'7'='= 	6 	6 	60@0F0F 	6 	6 	71A1G1G 	7 	7  -=-C-C      .>.D.D     #.44 # # 8#3#9#9 8 8 8(8(>(> 8 8  #3#9#9     .44   %5%;%;   '$4$:$: ' ' #.44 # # #.44 # # $/55 $ $ #.44 # # ).>.D.D ) ) zBBBB	
?@	 r   