+
    "Ý³j)  ã                   ó˜   € R t ^ RIt^ RIt^ RIt^ RIHt ^ RIHt  ! R R]P                  4      t	]
R8X  d   ]P                  ! 4        R# R# )z>Microbenchmarks for JSON format parsing and custom enum names.N)Újson_format)Újson_enumval_custom_string_pb2c                   ó*   a € ] tR t^t o RtR tRtV tR# )ÚJsonFormatBenchmarkz(Microbenchmarks for JSON format parsing.c                ó¶  a,a-a.a/a0a1a2a3€ . R#Oo-. R$Oo,. R%Oo3RRP                  . R&O^,          4      ,           R,           o1RRP                  . R'O^,          4      ,           R,           o0RRP                  . R(O^,          4      ,           R,           o2^
p^dp^
o/^bp\        P                  ! 4       o.\        ^È4       F3  pS, F*  pS.P	                  4        \
        P                  ! VS.4       K,  	  K5  	  V-V.V/3R lpV,V.V/3R lpV.V/V33R lpV.V/V13R lp	V.V/V03R lp
V.V/V23R	 lpR
\        P                  ! VS.P                  R7      \        S-4      S/,          3R\        P                  ! VS.P                  R7      \        S,4      S/,          3R\        P                  ! VS.P                  R7      \        S34      S/,          3R\        P                  ! V	S.P                  R7      VS/,          3R\        P                  ! V
S.P                  R7      VS/,          3R\        P                  ! VS.P                  R7      VS/,          3.pV UUu/ uF	  w  p qM. bK  	  ppp\        V4       FO  pV FF  w  rßpVV,          pVP                  VR7      pWí,          P                  VR,          V,          4       KH  	  KQ  	  R pV! VR
,          4      w  ppppV! VR,          4      w  ppppV! VR,          4      w  ppppV! VR,          4      w  p p!p"p#V! VR,          4      w  p$p%p&p'V! VR,          4      w  p(p)p*p+\        RVR RVR RVR RVR R2	4       \        RVR RVR RVR RVR R2	4       \        RVR RVR RVR RVR R2	4       \        RV!R RV R RV"R RV#R R2	4       \        R V%R RV$R RV&R RV'R R2	4       \        R!V)R RV(R RV*R RV+R R2	4       R"# u uppi ))zFBenchmarks parsing of default, custom, and unknown enum names in JSON.z{"armors":[Ú,z]}c                  óŒ   <€ S F<  p \        S4       F*  pSP                  4        \        P                  ! V S4       K,  	  K>  	  R # ©N©ÚrangeÚClearr   ÚParse)ÚpÚ_Údefault_payloadsÚmsgÚ
num_parsess     €€€Úo/home/luca/screen-checking/.venv/lib/python3.14/site-packages/google/protobuf/internal/json_format_benchmark.pyÚrun_defÚ>JsonFormatBenchmark.test_benchmark_parse_json.<locals>.run_defr   s5   ø€ Ûˆ!Ü�zÖ"ˆAØ
�)‰)Œ+Ü
×
Ò
˜A˜sÖ
#ó #ó  ó    c                  óŒ   <€ S F<  p \        S4       F*  pSP                  4        \        P                  ! V S4       K,  	  K>  	  R # r	   r
   )r   r   Úcustom_payloadsr   r   s     €€€r   Úrun_custÚ?JsonFormatBenchmark.test_benchmark_parse_json.<locals>.run_custx   s5   ø€ Ûˆ!Ü�zÖ"ˆAØ
�)‰)Œ+Ü
×
Ò
˜A˜sÖ
#ó #ó r   c                  ó�   <€ S F>  p \        S4       F,  pSP                  4        \        P                  ! V SR R7       K.  	  K@  	  R# ©T)Úignore_unknown_fieldsNr
   )r   r   r   r   Úunknown_payloadss     €€€r   Úrun_unkÚ>JsonFormatBenchmark.test_benchmark_parse_json.<locals>.run_unk~   s7   ø€ Ûˆ!Ü�zÖ"ˆAØ
�)‰)Œ+Ü
×
Ò
˜A˜s¸$×
?ó #ó  r   c                  óz   <€ \        S4       F*  p SP                  4        \        P                  ! SS4       K,  	  R # r	   r
   )r   r   r   Úrepeated_default_payloads    €€€r   Úrun_rep_defÚBJsonFormatBenchmark.test_benchmark_parse_json.<locals>.run_rep_def„   s,   ø€ Ü�ZÖ ˆ!Ø�	‰	ŒÜ×ÒÐ2°CÖ8ó !r   c                  óz   <€ \        S4       F*  p SP                  4        \        P                  ! SS4       K,  	  R # r	   r
   )r   r   r   Úrepeated_custom_payloads    €€€r   Úrun_rep_custÚCJsonFormatBenchmark.test_benchmark_parse_json.<locals>.run_rep_cust‰   s,   ø€ Ü�ZÖ ˆ!Ø�	‰	ŒÜ×ÒÐ1°3Ö7ó !r   c                  ó~   <€ \        S4       F,  p SP                  4        \        P                  ! SSR R7       K.  	  R# r   r
   )r   r   r   Úrepeated_unknown_payloads    €€€r   Úrun_rep_unkÚBJsonFormatBenchmark.test_benchmark_parse_json.<locals>.run_rep_unkŽ   s0   ø€ Ü�ZÖ ˆ!Ø�	‰	ŒÜ×ÒØ$ cÀ÷	
ó !r   r   )Úsetupr   r   r#   r'   r+   )Únumberg    €„.Ac                 ó  € \        V 4      ^d8  d   \        R\        V 4       R24      h\        P                  ! V 4      p\        P                  ! V 4      p\        P
                  ! V 4      p\        P                  ! V ^dR7      ^b,          pWAW#3# )éd   zInsufficient samples (zB) for statistical calculations. At least 100 samples are required.)Ún)ÚlenÚ
ValueErrorÚ
statisticsÚmedianÚmeanÚstdevÚ	quantiles)ÚsamplesÚmed_valÚmean_valÚ	stdev_valÚp99_vals   &    r   ÚstatsÚ<JsonFormatBenchmark.test_benchmark_parse_json.<locals>.stats¾   s„   € Ü	ˆW‹˜Ô	ÜØ$¤S¨£\ Nð 3@ð @ó
ð 	
ô ×!Ò! 'Ó*€gÜ—’ Ó)€hÜ×"Ò" 7Ó+€iÜ×$Ò$ W°Ô4°RÕ8€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)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"ARMOR_GREAT_HELM"z"ARMOR_GAUNTLET"z"ARMOR_PLATE"z"ARMOR_COIF"z"ARMOR_PAULDRON"z"ARMOR_SABATON"z"ARMOR_HACHI_MAI_DO")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")Újoinr   ÚKnightr   r   r   r   ÚtimeitÚTimerr2   Ú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_jsonÚ-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¡j d¨A¨q˜rš±JÐÑ?Ü�6Ž]ˆÛ,6Ñ
(ˆ$Ð(ØÐ!2Õ2ˆ	Ø—,‘, j�,Ó1ˆØÕ×&Ñ& w°¥}°yÕ'@ÖAó -7ñ ò
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   É O© N)Ú__name__Ú
__module__Ú__qualname__Ú__firstlineno__Ú__doc__ri   Ú__static_attributes__Ú__classdictcell__)Ú__classdict__s   @r   r   r      s   ø‡ € Ù0÷`ð `r   r   Ú__main__)rp   r4   rB   ÚunittestÚgoogle.protobufr   Úgoogle.protobuf.jsonr   ÚTestCaser   rl   Úmainrk   r   r   Ú<module>rz      sG   ðñ Eã Û Û å 'å ?ôc˜(×+Ñ+ô cðL ˆzÔØ
‡-‚-†/ñ r   