Ë
    `Qêj)  ã                   ó�   — d Z ddlZddlZddlZddlmZ ddlmZ  G d„ dej                  «      Z	e
dk(  r ej                  «        yy)z>Microbenchmarks for JSON format parsing and custom enum names.é    N)Újson_format)Újson_enumval_custom_string_pb2c                   ó   — e Zd ZdZd„ Zy)ÚJsonFormatBenchmarkz(Microbenchmarks for JSON format parsing.c                 óÂ  ‡,‡-‡.‡/‡0‡1‡2‡3— g d¢Š-g d¢Š,g d¢Š3ddj                  g d¢dz  «      z   dz   Š1ddj                  g d	¢dz  «      z   dz   Š0ddj                  g d
¢dz  «      z   dz   Š2d}d}dŠ/d}t        j                  «       Š.t        d«      D ]/  }‰,D ](  }‰.j	                  «        t        j                  |‰.«       Œ* Œ1 ˆ-ˆ.ˆ/fd„}ˆ,ˆ.ˆ/fd„}ˆ.ˆ/ˆ3fd„}ˆ.ˆ/ˆ1fd„}	ˆ.ˆ/ˆ0fd„}
ˆ.ˆ/ˆ2fd„}dt        j                  |‰.j                  ¬«      t        ‰-«      ‰/z  fdt        j                  |‰.j                  ¬«      t        ‰,«      ‰/z  fdt        j                  |‰.j                  ¬«      t        ‰3«      ‰/z  fdt        j                  |	‰.j                  ¬«      |‰/z  fdt        j                  |
‰.j                  ¬«      |‰/z  fdt        j                  |‰.j                  ¬«      |‰/z  fg}|D ��ci c]	  \  }}}|g “Œ }}}t        |«      D ]>  }|D ]7  \  }}}||z  }|j                  |¬«      }||   j                  |dz  |z  «       Œ9 Œ@ d„ } ||d   «      \  }}}} ||d   «      \  }}}} ||d   «      \  }}}} ||d   «      \  } }!}"}# ||d   «      \  }$}%}&}' ||d   «      \  }(})}*}+t        d|d ›d!|d ›d"|d ›d#|d ›d$�	«       t        d%|d ›d!|d ›d"|d ›d#|d ›d$�	«       t        d&|d ›d!|d ›d"|d ›d#|d ›d$�	«       t        d'|!d ›d(| d ›d)|"d ›d#|#d ›d*�	«       t        d+|%d ›d(|$d ›d)|&d ›d#|'d ›d*�	«       t        d,|)d ›d(|(d ›d)|*d ›d#|+d ›d*�	«       y-c c}}w ).zFBenchmarks parsing of default, custom, and unknown enum names in JSON.)z{"armor":"ARMOR_GREAT_HELM"}z{"armor":"ARMOR_GAUNTLET"}z{"armor":"ARMOR_PLATE"}z{"armor":"ARMOR_COIF"}z{"armor":"ARMOR_PAULDRON"}z{"armor":"ARMOR_SABATON"}z{"armor":"ARMOR_HACHI_MAI_DO"})z{"armor":"gr8 helm"}z{"armor":"a\"b"}z{"armor":"\"plate\""}z{"armor":""}z{"armor":"p\taul\ndron"}z{"armor":"sabaton"}z{"armor":"8"})z{"armor":"UNKNOWN_1"}z{"armor":"UNKNOWN_2"}z{"armor":"UNKNOWN_3"}z{"armor":"UNKNOWN_4"}z{"armor":"UNKNOWN_5"}z{"armor":"UNKNOWN_6"}z{"armor":"UNKNOWN_7"}z{"armors":[ú,)z"ARMOR_GREAT_HELM"z"ARMOR_GAUNTLET"z"ARMOR_PLATE"z"ARMOR_COIF"z"ARMOR_PAULDRON"z"ARMOR_SABATON"z"ARMOR_HACHI_MAI_DO"é   z]})z
"gr8 helm"z"a\"b"z"\"plate\""z""z"p\taul\ndron"z	"sabaton"z"8")z"UNKNOWN_1"z"UNKNOWN_2"z"UNKNOWN_3"z"UNKNOWN_4"z"UNKNOWN_5"z"UNKNOWN_6"z"UNKNOWN_7"é
   éd   éb   éÈ   c                  ó€   •— ‰D ]8  } t        ‰«      D ](  }‰j                  «        t        j                  | ‰«       Œ* Œ: y ©N©ÚrangeÚClearr   ÚParse)ÚpÚ_Údefault_payloadsÚmsgÚ
num_parsess     €€€ús/home/oem/CyberBrain26-unified/.venv/lib/python3.12/site-packages/google/protobuf/internal/json_format_benchmark.pyÚrun_defz>JsonFormatBenchmark.test_benchmark_parse_json.<locals>.run_defr   s?   ø€ Øò $ˆ!Ü�zÓ"ò 	$ˆAØ
�)‰)Œ+Ü
×
Ñ
˜A˜sÕ
#ñ	$ñ$ó    c                  ó€   •— ‰D ]8  } t        ‰«      D ](  }‰j                  «        t        j                  | ‰«       Œ* Œ: y r   r   )r   r   Úcustom_payloadsr   r   s     €€€r   Úrun_custz?JsonFormatBenchmark.test_benchmark_parse_json.<locals>.run_custx   s?   ø€ Øò $ˆ!Ü�zÓ"ò 	$ˆAØ
�)‰)Œ+Ü
×
Ñ
˜A˜sÕ
#ñ	$ñ$r   c                  ó„   •— ‰D ]:  } t        ‰«      D ]*  }‰j                  «        t        j                  | ‰d¬«       Œ, Œ< y ©NT)Úignore_unknown_fieldsr   )r   r   r   r   Úunknown_payloadss     €€€r   Úrun_unkz>JsonFormatBenchmark.test_benchmark_parse_json.<locals>.run_unk~   sE   ø€ Øò @ˆ!Ü�zÓ"ò 	@ˆAØ
�)‰)Œ+Ü
×
Ñ
˜A˜s¸$Ö
?ñ	@ñ@r   c                  ór   •— t        ‰«      D ](  } ‰j                  «        t        j                  ‰‰«       Œ* y r   r   )r   r   r   Úrepeated_default_payloads    €€€r   Úrun_rep_defzBJsonFormatBenchmark.test_benchmark_parse_json.<locals>.run_rep_def„   s1   ø€ Ü�ZÓ ò 9ˆ!Ø�	‰	ŒÜ×ÑÐ2°CÕ8ñ9r   c                  ór   •— t        ‰«      D ](  } ‰j                  «        t        j                  ‰‰«       Œ* y r   r   )r   r   r   Úrepeated_custom_payloads    €€€r   Úrun_rep_custzCJsonFormatBenchmark.test_benchmark_parse_json.<locals>.run_rep_cust‰   s1   ø€ Ü�ZÓ ò 8ˆ!Ø�	‰	ŒÜ×ÑÐ1°3Õ7ñ8r   c                  óv   •— t        ‰«      D ]*  } ‰j                  «        t        j                  ‰‰d¬«       Œ, y r    r   )r   r   r   Úrepeated_unknown_payloads    €€€r   Úrun_rep_unkzBJsonFormatBenchmark.test_benchmark_parse_json.<locals>.run_rep_unkŽ   s5   ø€ Ü�ZÓ ò 
ˆ!Ø�	‰	ŒÜ×ÑØ$ cÀö	
ñ
r   r   )Úsetupr   r#   r&   r)   r,   )Únumberg    €„.Ac                 ó  — t        | «      dk  rt        dt        | «      › d�«      ‚t        j                  | «      }t        j                  | «      }t        j
                  | «      }t        j                  | d¬«      d   }||||fS )Nr   zInsufficient samples (zB) for statistical calculations. At least 100 samples are required.)Únr   )ÚlenÚ
ValueErrorÚ
statisticsÚmedianÚmeanÚstdevÚ	quantiles)ÚsamplesÚmed_valÚmean_valÚ	stdev_valÚp99_vals        r   Ústatsz<JsonFormatBenchmark.test_benchmark_parse_json.<locals>.stats¾   sˆ   € Ü	ˆW‹˜Ò	ÜØ$¤S¨£\ Nð 3@ð @ó
ð 	
ô ×!Ñ! 'Ó*€gÜ—‘ Ó)€hÜ×"Ñ" 7Ó+€iÜ×$Ñ$ W°Ô4°RÑ8€gØ�g˜x¨Ð2Ð2r   z2
[BENCHMARK] ParseJsonDefault:                med z.2fz us/op | p99 z us/op | mean u    Â± z us/opz1[BENCHMARK] ParseJsonCustom:                 med z1[BENCHMARK] ParseJsonUnknownIgnored:         med z1[BENCHMARK] ParseRepeatedJsonDefault:        med z us/item | p99 z us/item | mean z us/itemz1[BENCHMARK] ParseRepeatedJsonCustom:         med z1[BENCHMARK] ParseRepeatedJsonUnknownIgnored: med N)Újoinr   ÚKnightr   r   r   r   ÚtimeitÚTimerr1   ÚappendÚprint)4ÚselfÚ
iterationsÚtrialsÚ	num_itemsr   r   r   r   r#   r&   r)   r,   Ú
benchmarksÚnameÚbenchmark_samplesÚtimerÚnum_ops_per_batchÚ	total_opsÚelapsedr=   Úp99_defÚmed_defÚmean_defÚstd_defÚp99_custÚmed_custÚ	mean_custÚstd_custÚp99_unkÚmed_unkÚmean_unkÚstd_unkÚp99_rep_defÚmed_rep_defÚmean_rep_defÚstd_rep_defÚp99_rep_custÚmed_rep_custÚmean_rep_custÚstd_rep_custÚp99_rep_unkÚmed_rep_unkÚmean_rep_unkÚstd_rep_unkr   r   r   r   r(   r%   r+   r"   s4                                               @@@@@@@@r   Útest_benchmark_parse_jsonz-JsonFormatBenchmark.test_benchmark_parse_json   sÆ  ÿ€ òÐò€OòÐð 	Ø
�(‰(òð ñ	ó
ñ	
ð ñ	ð ð" 	Ø
�(‰(òð ñ	ó
ñ	
ð ñ	ð ð" 	Ø
�(‰(òð ñ	ó
ñ	
ð ñ	ð ð" €JØ€FØ€JØ€Iä
(×
/Ñ
/Ó
1€Cô �3‹Zò "ˆØò "ˆ!Ø�	‰	ŒÜ×Ñ˜!˜SÕ!ñ"ð"ö
$ö$ö@ö9ö
8ö

ð Ü�L‰L˜¨¯	©	Ô2ÜÐ Ó! JÑ.ð	
ð Ü�L‰L˜¨¯©Ô3Ü�Ó  :Ñ-ð	
ð Ü�L‰L˜¨¯	©	Ô2ÜÐ Ó! JÑ.ð	
ð Ü�L‰L˜¨C¯I©IÔ6Ø˜
Ñ"ð	
ð Ü�L‰L˜¨S¯Y©YÔ7Ø˜
Ñ"ð	
ð Ü�L‰L˜¨C¯I©IÔ6Ø˜
Ñ"ð	
ð5€JðD 5?×?¡j d¨A¨q˜˜r™Ð?ÐÑ?Ü�6‹]ò BˆØ,6ò BÑ
(ˆ$�Ð(ØÐ!2Ñ2ˆ	Ø—,‘, j�,Ó1ˆØ˜$Ñ×&Ñ& w°¡}°yÑ'@ÕAñBðBò
3ñ +0Ð0AÀ)Ñ0LÓ*MÑ'€GˆW�h Ù.3Ø˜*Ñ%ó/Ñ+€Hˆh˜	 8ñ +0Ð0AÀ)Ñ0LÓ*MÑ'€GˆW�h Ù:?Ø˜-Ñ(ó;Ñ7€K�˜l¨Kñ ?DØ˜.Ñ)ó?Ñ;€L�, ¨|ñ ;@Ø˜-Ñ(ó;Ñ7€K�˜l¨Kô 
Ø
=¸gÀc¸]Ø
˜ �} N°8¸C°.ð AØ�Cˆ=˜ð	 ôô
 
Ø
;¸HÀS¸>ð JØ˜3�˜~¨i¸¨_¸DÀÈ#ÀØð	ôô
 
ð	Ø˜ˆ}˜M¨'°#¨ð 7Ø�Sˆ>˜˜g c˜]¨&ð	2ôô
 
ð	Ø˜CÐ  °¸CÐ/@ð AØ˜cÐ" $ {°3Ð&7°xð	Aôô
 
ð	Ø˜SÐ! °¸cÐ0Bð CØ˜sÐ# 4¨°SÐ'9¸ð	Côô
 
ð	Ø˜CÐ  °¸CÐ/@ð AØ˜cÐ" $ {°3Ð&7°xð	Aõùów @s   Ç2MN)Ú__name__Ú
__module__Ú__qualname__Ú__doc__rg   © r   r   r   r      s   „ Ù0ó`r   r   Ú__main__)rk   r3   r@   ÚunittestÚgoogle.protobufr   Úgoogle.protobuf.jsonr   ÚTestCaser   rh   Úmainrl   r   r   ú<module>rs      sI   ðñ Eã Û Û å 'å ?ôc˜(×+Ñ+ô cðL ˆzÒØ€(‡-�-…/ð r   