Ë
    `Qêj„   ã                   óF  — d Z ddlmZ ddlZddlZddlZddlZddlm	Z	 ej                  defd„«       Zdeej                  gdf   deej                  gdf   fd	„Zed
ej                  fd„«       Zed
ej                  fd„«       Zed
ej                  fd„«       Zed
ej                  fd„«       Zed
ej                  fd„«       Zed
ej                  fd„«       Zed
ej                  fd„«       Zed
ej                  fd„«       Zed
ej                  fd„«       Zed
ej                  fd„«       Zed
ej                  fd„«       Zed
ej                  fd„«       Zed
ej                  fd„«       Zed
ej                  fd„«       Zed
ej                  fd„«       Zed
ej                  fd„«       Zed
ej                  fd„«       Zed
ej                  fd„«       Z ed
ej                  fd„«       Z!ed
ej                  fd„«       Z"ed
ej                  fd„«       Z#ed
ej                  fd „«       Z$ed
ej                  fd!„«       Z%ed
ej                  fd"„«       Z&ed
ej                  fd#„«       Z'e(d$k(  r4 e)d%„ ejT                  D «       «      r ejV                  «        y e,d&«       yy)'z=Benchmarks for assigning large NumPy data to protobuf fields.é    )ÚCallableN)Úunittest_pb2Ú	num_bytesc                 óN   — t        j                  | ft         j                  ¬«      S )N)ÚshapeÚdtype)ÚnpÚzerosÚuint8)r   s    úo/home/oem/CyberBrain26-unified/.venv/lib/python3.12/site-packages/google/protobuf/internal/message_benchmark.pyÚ
make_arrayr      s   € ä	�‰˜˜¬B¯H©HÔ	5Ð5ó    ÚfuncÚreturnc           
      ó¼  ‡ — t         j                  t         j                  j                  t         j                  «      t         j                  j                  dg«      t         j                  j                  d«      t         j                  j                  d«      t        j                  ‰ «      dt         j                  ddfˆ fd„«       «       «       «       «       «       }|S )z&Decorates a function for benchmarking.r   i  @i  @Ústater   Nc                 ó\   •—  ‰| «       | j                   | j                  d«      z  | _        y ©Nr   )Ú
iterationsÚrangeÚbytes_processed)r   r   s    €r   Úwrapperz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                 óÆ   — t        | j                  d«      «      j                  t        j                  ¬«      }| r't        j                  «       }||j                  d d  | rŒ&y y ©Nr   ©r   )r   r   Úviewr	   Úint32r   ÚTestAllTypesÚrepeated_int32©r   ÚarrÚmsgs      r   Úbench_build_message_via_slicer.   $   sL   € ä�5—;‘;˜q“>Ó"×'Ñ'¬b¯h©hÐ'Ó7€#ÙÜ
×
#Ñ
#Ó
%€CØ€C×Ñ‘qÐô 	r   c                 ó¬   — t        | j                  d«      «      j                  t        j                  ¬«      }| rt        j                  |¬«      }| rŒy y )Nr   r&   ©r*   )r   r   r'   r	   r(   r   r)   ©r   r,   Ú_s      r   Úbench_build_messager3   ,   s>   € ä�5—;‘;˜q“>Ó"×'Ñ'¬b¯h©hÐ'Ó7€#ÙÜ×!Ñ!°Ô5€Aô 	r   c                 óÚ   — t        | j                  d«      «      j                  t        j                  ¬«      }| r1t        j                  «       }||j                  j                  d d  | rŒ0y y r%   )	r   r   r'   r	   r(   r   ÚNestedTestAllTypesÚpayloadr*   r+   s      r   Ú$bench_build_message_nested_via_slicer7   3   sP   € ä�5—;‘;˜q“>Ó"×'Ñ'¬b¯h©hÐ'Ó7€#ÙÜ
×
)Ñ
)Ó
+€CØ$'€C‡K�K×Ñ™qÐ!ô 	r   c                 óÀ   — t        | j                  d«      «      j                  t        j                  ¬«      }| r$t        j                  t        |¬«      ¬«      }| rŒ#y y ©Nr   r&   r0   ©r6   )r   r   r'   r	   r(   r   r5   Údictr1   s      r   Úbench_build_nested_message_dictr<   ;   sC   € ä�5—;‘;˜q“>Ó"×'Ñ'¬b¯h©hÐ'Ó7€#ÙÜ×'Ñ'´ÀCÔ0HÔI€Aô 	r   c                 óÔ   — t        | j                  d«      «      j                  t        j                  ¬«      }| r.t        j                  t        j                  |¬«      ¬«      }| rŒ-y y r9   )r   r   r'   r	   r(   r   r5   r)   r1   s      r   Ú bench_build_nested_message_int32r>   B   sL   € ä�5—;‘;˜q“>Ó"×'Ñ'¬b¯h©hÐ'Ó7€#ÙÜ×'Ñ'Ü×)Ñ)¸Ô=ô	€Aô 	r   c                 óž   — | j                  d«      dz  }d|z  gdz  }| r.t        j                  t        j                  |¬«      ¬«      }| rŒ-y y )Nr   éè  Úa)Úrepeated_cordr:   ©r   r   r5   r)   ©r   Ú
chunk_sizeÚstringsr2   s       r   Úbench_build_nested_message_cordrG   K   sL   € à�{‰{˜1‹~ Ñ%€*Ø�:ÑÐ Ñ%€'ÙÜ×'Ñ'Ü×)Ñ)¸Ô@ô	€Aô 	r   c                 óž   — | j                  d«      dz  }d|z  gdz  }| r.t        j                  t        j                  |¬«      ¬«      }| rŒ-y y )Nr   r@   rA   )Úrepeated_string_piecer:   rC   rD   s       r   Ú'bench_build_nested_message_string_piecerJ   U   sL   € à�{‰{˜1‹~ Ñ%€*Ø�:ÑÐ Ñ%€'ÙÜ×'Ñ'Ü×)Ñ)ÀÔHô	€Aô 	r   c                 óÐ   — t         j                  j                  d¬«      g| j                  d«      dz  z  }| r.t        j                  t        j                  |¬«      ¬«      }| rŒ-y y )Né{   )Úbbr   é   )Úrepeated_nested_messager:   )r   r)   ÚNestedMessager   r5   )r   Úsubsr2   s      r   Ú)bench_build_nested_message_nested_messagerR   _   s[   € ä
×
#Ñ
#×
1Ñ
1°SÐ
1Ó
9Ð	:Ø‡k�k�!ƒn˜Ññ
€$ñ 	Ü×'Ñ'Ü×)Ñ)À$ÔGô	€Aô 	r   c                 ó˜  — t        | j                  d«      «      j                  t        j                  ¬«      }t        j                  «       }t        j                  «       }|j                  j                  |«       | rM| j                  «        |j                  «        | j                  «        |j                  |j                  d d  | rŒLy y 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“>Ó"×'Ñ'¬b¯j©jÐ'Ó9€#Ü×!Ñ!Ó#€#Ü×(Ñ(Ó*€*Ø×Ñ×"Ñ" 3Ô'ÙØ	×ÑÔØ‡I�I„KØ	×ÑÔØ&×5Ñ5€C×Ñ‘qÐô	 	r   c                 ó˜  — t        | j                  d«      «      j                  t        j                  ¬«      }t        j                  «       }t        j                  «       }|j                  j                  |«       | rM| j                  «        |j                  «        | j                  «        |j                  |j                  d d  | rŒLy y r%   )r   r   r'   r	   Úint64r   r)   Úrepeated_int64rV   rW   rX   rY   r*   rZ   s       r   Ú$bench_assign_repeated_int64_to_int32r`   w   s•   € ä�5—;‘;˜q“>Ó"×'Ñ'¬b¯h©hÐ'Ó7€#Ü×!Ñ!Ó#€#Ü×(Ñ(Ó*€*Ø×Ñ×"Ñ" 3Ô'ÙØ	×ÑÔØ‡I�I„KØ	×ÑÔØ&×5Ñ5€C×Ñ‘qÐô	 	r   c                 ó˜  — t        | j                  d«      «      j                  t        j                  ¬«      }t        j                  «       }t        j                  «       }|j                  j                  |«       | rM| j                  «        |j                  «        | j                  «        |j                  |j                  d d  | rŒLy y r%   )r   r   r'   r	   Úfloat64r   r)   Úrepeated_doublerV   rW   rX   rY   rU   rZ   s       r   Ú%bench_assign_repeated_double_to_floatrd   „   s•   € ä�5—;‘;˜q“>Ó"×'Ñ'¬b¯j©jÐ'Ó9€#Ü×!Ñ!Ó#€#Ü×(Ñ(Ó*€*Ø×Ñ×#Ñ# CÔ(ÙØ	×ÑÔØ‡I�I„KØ	×ÑÔØ&×6Ñ6€C×Ñ‘qÐô	 	r   c                 ó&  — t        | j                  d«      «      j                  t        j                  ¬«      }t        j                  «       }| rC| j                  «        |j                  «        | j                  «        ||j                  d d  | rŒBy y r%   )r   r   r'   r	   r^   r   r)   rW   rX   rY   r*   r+   s      r   Ú!bench_assign_numpy_int64_to_int32rf   ‘   sm   € ä�5—;‘;˜q“>Ó"×'Ñ'¬b¯h©hÐ'Ó7€#Ü×!Ñ!Ó#€#ÙØ	×ÑÔØ‡I�I„KØ	×ÑÔØ€C×Ñ‘qÐô	 	r   c                 ó&  — t        | j                  d«      «      j                  t        j                  ¬«      }t        j                  «       }| rC| j                  «        |j                  «        | j                  «        ||j                  d d  | rŒBy y r%   )r   r   r'   r	   rb   r   r)   rW   rX   rY   rU   r+   s      r   Ú"bench_assign_numpy_double_to_floatrh   œ   sm   € ä�5—;‘;˜q“>Ó"×'Ñ'¬b¯j©jÐ'Ó9€#Ü×!Ñ!Ó#€#ÙØ	×ÑÔØ‡I�I„KØ	×ÑÔØ€C×Ñ‘qÐô	 	r   c                 ó>  — t        | j                  d«      «      j                  t        j                  ¬«      }t        j                  «       }| rO| j                  «        |j                  «        | j                  «        |j                  j                  |«       | rŒNy y r%   )r   r   r'   r	   r(   r   r)   rW   rX   rY   r*   rV   r+   s      r   Úbench_extend_int32rj   §   óq   € ä�5—;‘;˜q“>Ó"×'Ñ'¬b¯h©hÐ'Ó7€#Ü×!Ñ!Ó#€#ÙØ	×ÑÔØ‡I�I„KØ	×ÑÔØ×Ñ×Ñ˜cÔ"ô	 	r   c                 óê   — t        | j                  d«      «      }t        j                  «       }t	        |«      |_        |j                  «       }| r#t        j                  j                  |«      }| rŒ"y y r   ©r   r   r   r)   Ú
memoryviewÚoptional_bytesÚSerializeToStringÚ
FromString©r   r,   r-   Ú	msg_bytesr2   s        r   Úbench_decode_from_bytesrt   ²   sZ   € ä�5—;‘;˜q“>Ó"€#Ü×!Ñ!Ó#€#Ü! #“€#ÔØ×#Ñ#Ó%€)ÙÜ×!Ñ!×,Ñ,¨YÓ7€Aô 	r   c                 óü   — t        | j                  d«      «      }t        j                  «       }t	        |«      |_        t	        |j                  «       «      }| r#t        j                  j                  |«      }| rŒ"y y r   rm   rr   s        r   Úbench_decode_from_memoryviewrv   ¼   s_   € ä�5—;‘;˜q“>Ó"€#Ü×!Ñ!Ó#€#Ü! #“€#ÔÜ˜×.Ñ.Ó0Ó1€)ÙÜ×!Ñ!×,Ñ,¨YÓ7€Aô 	r   c                 ó¬   — t        | j                  d«      «      }t        j                  «       }t	        |«      |_        | r|j                  «       }| rŒy y r   )r   r   r   r)   rn   ro   rp   )r   r,   r-   r2   s       r   Úbench_encode_into_bytesrx   Æ   sD   € ä�5—;‘;˜q“>Ó"€#Ü×!Ñ!Ó#€#Ü! #“€#ÔÙØ×ÑÓ€Aô 	r   c                 ó&  — t        | j                  d«      «      j                  t        j                  ¬«      }t        j                  «       }| rC||j                  d d  | j                  «        |j                  «        | j                  «        | rŒBy y r%   )r   r   r'   r	   r(   r   r)   r*   rW   rX   rY   r+   s      r   Úbench_assign_int32rz   Ï   sm   € ä�5—;‘;˜q“>Ó"×'Ñ'¬b¯h©hÐ'Ó7€#Ü×!Ñ!Ó#€#ÙØ€C×Ñ‘qÐØ	×ÑÔØ‡I�I„KØ	×ÑÔô	 	r   c                 óT  — t        | j                  d«      «      j                  t        j                  ¬«      }t        j                  «       }||j                  d d  | rK||j                  t        |«      d  | j                  «        ||j                  d d  | j                  «        | rŒJy y r%   )r   r   r'   r	   r(   r   r)   r*   ÚlenrW   rY   r+   s      r   Úbench_assign_extend_int32r}   Ú   sŠ   € ä�5—;‘;˜q“>Ó"×'Ñ'¬b¯h©hÐ'Ó7€#Ü×!Ñ!Ó#€#Ø€#×Ñ‘QÐÙØ%(€C×Ñ”s˜3“x�zÐ"Ø	×ÑÔØ€C×Ñ‘qÐØ	×ÑÔô	 	r   c                 ó$  — t        | j                  d«      «      j                  t        j                  ¬«      }|d t        |«      dz   }t        j                  «       }|j                  j                  |«       | r||j                  d d d…<   | rŒy y )Nr   r&   é   )
r   r   r'   r	   r(   r|   r   r)   r*   rV   )r   r,   Úhalf_arrr-   s       r   Úbench_assign_slice_int32r�   æ   sx   € ä�5—;‘;˜q“>Ó"×'Ñ'¬b¯h©hÐ'Ó7€#Ø�”3�s“8˜q‘=Ð!€(Ü×!Ñ!Ó#€#Ø×Ñ×Ñ˜CÔ ÙØ&€C×Ñ‘s˜�sÑô 	r   c                 ó>  — t        | j                  d«      «      j                  t        j                  ¬«      }t        j                  «       }| rO| j                  «        |j                  «        | j                  «        |j                  j                  |«       | rŒNy y r%   )r   r   r'   r	   r^   r   r)   rW   rX   rY   r_   rV   r+   s      r   Úbench_extend_int64rƒ   ð   rk   r   c                 ó>  — t        | j                  d«      «      j                  t        j                  ¬«      }t        j                  «       }| rO| j                  «        |j                  «        | j                  «        |j                  j                  |«       | rŒNy y r%   )r   r   r'   r	   rT   r   r)   rW   rX   rY   rU   rV   r+   s      r   Úbench_extend_floatr…   û   sq   € ä�5—;‘;˜q“>Ó"×'Ñ'¬b¯j©jÐ'Ó9€#Ü×!Ñ!Ó#€#ÙØ	×ÑÔØ‡I�I„KØ	×ÑÔØ×Ñ×Ñ˜cÔ"ô	 	r   c                 ó>  — t        | j                  d«      «      j                  t        j                  ¬«      }t        j                  «       }| rO| j                  «        |j                  «        | j                  «        |j                  j                  |«       | rŒNy y r%   )r   r   r'   r	   rb   r   r)   rW   rX   rY   rc   rV   r+   s      r   Úbench_extend_doubler‡     sq   € ä�5—;‘;˜q“>Ó"×'Ñ'¬b¯j©jÐ'Ó9€#Ü×!Ñ!Ó#€#ÙØ	×ÑÔØ‡I�I„KØ	×ÑÔØ×Ñ×Ñ˜sÔ#ô	 	r   c                 óú   — t        | j                  d«      «      }t        j                  «       }|j	                  «       }| r;| j                  «        |j                  «        | j                  «        ||_        | rŒ:y y r   )	r   r   r   r)   ÚtobytesrW   rX   rY   ro   )r   r,   r-   Ú	arr_bytess       r   Úbench_assign_bytesr‹     s^   € ä�5—;‘;˜q“>Ó"€#Ü×!Ñ!Ó#€#Ø�k‰k‹m€)ÙØ	×ÑÔØ‡I�I„KØ	×ÑÔØ"€CÔô	 	r   c                 óì   — t        | j                  d«      «      }t        j                  «       }| rD| j	                  «        |j                  «        | j                  «        t        |«      |_        | rŒCy y r   )	r   r   r   r)   rW   rX   rY   rn   ro   r+   s      r   Ú"bench_assign_bytes_with_conversionr�     sW   € ä�5—;‘;˜q“>Ó"€#Ü×!Ñ!Ó#€#ÙØ	×ÑÔØ‡I�I„KØ	×ÑÔÜ# C›€CÔô	 	r   Ú__main__c              #   ó>   K  — | ]  }|j                  d «      –— Œ y­w)z--benchmark_filterN)Ú
startswith)Ú.0r   s     r   ú	<genexpr>r’   )  s   è ø€ ÒB°#ˆ�‰Ð,×	-ÑBùs   ‚z3No benchmark filter specified. Skipping benchmarks.)-Ú__doc__Úcollections.abcr   r    Úsysr   Únumpyr	   Úgoogle.protobufr   ÚcacheÚintr   r"   r#   r.   r3   r7   r<   r>   rG   rJ   rR   r\   r`   rd   rf   rh   rj   rt   rv   rx   rz   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@×0FÑ0Fò (ó ð(ð ðJÐ+;×+AÑ+Aò Jó ðJð ðÐ,<×,BÑ,Bò ó ðð ðÐ+;×+AÑ+Aò ó ðð ðÐ3C×3IÑ3Iò ó ðð ðÐ5E×5KÑ5Kò ó ðð ð	6Ð'7×'=Ñ'=ò 	6ó ð	6ð ð	6Ð0@×0FÑ0Fò 	6ó ð	6ð ð	7Ð1A×1GÑ1Gò 	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ØÐ×ÑÕá	Ð
?Õ@ð	 r   