Implement international hostname checking with UTS #46#2564
Conversation
0eafd54 to
b144bc0
Compare
There was a problem hiding this comment.
Benchmark (linux/gcc)
Details
| Benchmark suite | Current: 056d54e | Previous: 2cc994b | Ratio |
|---|---|---|---|
JOSE_VerifySignature_RS256 |
24399.61040871369 ns/iter |
18898.396884787224 ns/iter |
1.29 |
JOSE_VerifySignature_ES512 |
641987.4600550812 ns/iter |
498531.7060498077 ns/iter |
1.29 |
GZIP_Compress_ISO_Language_Set_3_Locations |
39332111.83333343 ns/iter |
30063828.043479215 ns/iter |
1.31 |
GZIP_Decompress_ISO_Language_Set_3_Locations |
4010174.9252875345 ns/iter |
2722083.5620154548 ns/iter |
1.47 |
GZIP_Compress_ISO_Language_Set_3_Schema |
2276426.2084690463 ns/iter |
1756299.5349999254 ns/iter |
1.30 |
GZIP_Decompress_ISO_Language_Set_3_Schema |
278593.4335387322 ns/iter |
197654.00724408904 ns/iter |
1.41 |
HTML_Build_Table_100000 |
69434053.80000058 ns/iter |
56032916.16666677 ns/iter |
1.24 |
HTML_Render_Table_100000 |
1893119.3477087165 ns/iter |
1840292.8364115972 ns/iter |
1.03 |
JSONL_Parse_Large |
12158960.894738443 ns/iter |
9449801.054054696 ns/iter |
1.29 |
JSONL_Parse_Large_GZIP |
13719919.588235524 ns/iter |
10608343.712120952 ns/iter |
1.29 |
URITemplateRouter_Create |
30221.065215518185 ns/iter |
22340.13871180407 ns/iter |
1.35 |
URITemplateRouter_Match |
156.64615297740903 ns/iter |
119.2958709952835 ns/iter |
1.31 |
URITemplateRouter_Match_BasePath |
187.91644223718103 ns/iter |
142.1888055761306 ns/iter |
1.32 |
URITemplateRouterView_Restore |
8720.193994536065 ns/iter |
6719.424232475853 ns/iter |
1.30 |
URITemplateRouterView_Match |
125.87509527347063 ns/iter |
94.13356358268622 ns/iter |
1.34 |
URITemplateRouterView_Match_BasePath |
142.15391133309421 ns/iter |
105.95508858946816 ns/iter |
1.34 |
URITemplateRouterView_Arguments |
454.0326410689144 ns/iter |
349.59650167340385 ns/iter |
1.30 |
Pointer_Object_Traverse |
29.625938686248993 ns/iter |
22.972203929400372 ns/iter |
1.29 |
Pointer_Object_Try_Traverse |
22.829504010900667 ns/iter |
17.700732249007686 ns/iter |
1.29 |
Pointer_Push_Back_Pointer_To_Weak_Pointer |
151.82934993454168 ns/iter |
125.73930276027164 ns/iter |
1.21 |
Pointer_Walker_Schema_ISO_Language |
1910033.2228115452 ns/iter |
1452908.1022963952 ns/iter |
1.31 |
Pointer_Maybe_Tracked_Deeply_Nested/0 |
1524706.6782609655 ns/iter |
1187573.492359882 ns/iter |
1.28 |
Pointer_Maybe_Tracked_Deeply_Nested/1 |
1663107.676959562 ns/iter |
1288989.2688766243 ns/iter |
1.29 |
Pointer_Position_Tracker_Get_Deeply_Nested |
631.2694239999246 ns/iter |
446.5383050016227 ns/iter |
1.41 |
JSON_Array_Of_Objects_Unique |
408.5007557403379 ns/iter |
314.9333206135257 ns/iter |
1.30 |
JSON_Parse_1 |
7382.913285336284 ns/iter |
5800.54611157635 ns/iter |
1.27 |
JSON_Parse_Real |
6587.401554209401 ns/iter |
5184.289584243911 ns/iter |
1.27 |
JSON_Parse_Decimal |
9508.853522388665 ns/iter |
7559.940392055323 ns/iter |
1.26 |
JSON_Parse_Schema_ISO_Language |
5089988.561151507 ns/iter |
3960428.80226006 ns/iter |
1.29 |
JSON_Parse_Integer |
4948.164376931012 ns/iter |
3784.546090283644 ns/iter |
1.31 |
JSON_Parse_String_NonSSO_Plain |
8301.049157717012 ns/iter |
6641.078015191903 ns/iter |
1.25 |
JSON_Parse_String_SSO_Plain |
3594.5490559455907 ns/iter |
2786.201082590381 ns/iter |
1.29 |
JSON_Parse_String_Escape_Heavy |
18955.63515377691 ns/iter |
14799.343378553893 ns/iter |
1.28 |
JSON_Parse_Object_Short_Keys |
11358.419373625347 ns/iter |
8768.031832998611 ns/iter |
1.30 |
JSON_Parse_Object_Scalar_Properties |
5822.702538686574 ns/iter |
4485.615379192029 ns/iter |
1.30 |
JSON_Parse_Object_Array_Properties |
9407.980196036122 ns/iter |
7488.457662625925 ns/iter |
1.26 |
JSON_Parse_Object_Object_Properties |
9300.32119653136 ns/iter |
7406.963722967726 ns/iter |
1.26 |
JSON_Parse_Nested_Containers |
73117.59146533663 ns/iter |
57132.625487962265 ns/iter |
1.28 |
JSON_From_String_Copy |
20.051283343626075 ns/iter |
15.800114401389031 ns/iter |
1.27 |
JSON_From_String_Temporary |
16.27752401214961 ns/iter |
12.665707243534854 ns/iter |
1.29 |
JSON_Number_To_Double |
19.361819489899297 ns/iter |
15.071654279190597 ns/iter |
1.28 |
JSON_Object_At_Last_Key/8 |
9.151385700305983 ns/iter |
7.192479863670162 ns/iter |
1.27 |
JSON_Object_At_Last_Key/32 |
34.48489305271741 ns/iter |
26.750740173984514 ns/iter |
1.29 |
JSON_Object_At_Last_Key/128 |
135.78579556282398 ns/iter |
105.28286283530964 ns/iter |
1.29 |
JSON_Object_At_Last_Key/512 |
559.6011156654641 ns/iter |
433.33551920690707 ns/iter |
1.29 |
JSON_Fast_Hash_Helm_Chart_Lock |
56.698111999992314 ns/iter |
45.24161111599971 ns/iter |
1.25 |
JSON_Equality_Helm_Chart_Lock |
154.10004957823915 ns/iter |
115.28089563670666 ns/iter |
1.34 |
JSON_Divisible_By_Decimal |
231.93164490445412 ns/iter |
180.16622390442762 ns/iter |
1.29 |
JSON_String_Equal/10 |
5.712261002432149 ns/iter |
4.176188911847903 ns/iter |
1.37 |
JSON_String_Equal/100 |
6.421787492151612 ns/iter |
5.105460920000269 ns/iter |
1.26 |
JSON_String_Equal_Small_By_Perfect_Hash/10 |
0.7123570567118698 ns/iter |
0.5536266804904784 ns/iter |
1.29 |
JSON_String_Equal_Small_By_Runtime_Perfect_Hash/10 |
22.177518328217463 ns/iter |
17.025658166531887 ns/iter |
1.30 |
JSON_String_Fast_Hash/10 |
1.407926683435269 ns/iter |
1.0938646634959321 ns/iter |
1.29 |
JSON_String_Fast_Hash/100 |
1.413385496674614 ns/iter |
1.0924878574774066 ns/iter |
1.29 |
JSON_String_Key_Hash/10 |
1.0855434606058196 ns/iter |
0.8421967981176668 ns/iter |
1.29 |
JSON_String_Key_Hash/100 |
14.760933902779406 ns/iter |
11.452652098709903 ns/iter |
1.29 |
JSON_Object_Defines_Miss_Same_Length |
3.516576416965587 ns/iter |
2.730845482316819 ns/iter |
1.29 |
JSON_Object_Defines_Miss_Too_Small |
3.5183586357759937 ns/iter |
2.7301054193364966 ns/iter |
1.29 |
JSON_Object_Defines_Miss_Too_Large |
3.8714467637979753 ns/iter |
3.0005537919373375 ns/iter |
1.29 |
Regex_Lower_S_Or_Upper_S_Asterisk |
0.703571659296025 ns/iter |
0.5469286411034296 ns/iter |
1.29 |
Regex_Caret_Lower_S_Or_Upper_S_Asterisk_Dollar |
1.054859883728559 ns/iter |
0.8185470319566642 ns/iter |
1.29 |
Regex_Period_Asterisk |
1.0550569556916696 ns/iter |
0.8299701041145602 ns/iter |
1.27 |
Regex_Group_Period_Asterisk_Group |
0.7050389640680162 ns/iter |
0.5457611905584461 ns/iter |
1.29 |
Regex_Period_Plus |
0.7033496784911552 ns/iter |
0.5463447189464873 ns/iter |
1.29 |
Regex_Period |
1.0553816287794473 ns/iter |
0.818855864528042 ns/iter |
1.29 |
Regex_Caret_Period_Plus_Dollar |
1.0553811486528237 ns/iter |
0.8186801791317391 ns/iter |
1.29 |
Regex_Caret_Group_Period_Plus_Group_Dollar |
0.7040772572953106 ns/iter |
0.5469287987601189 ns/iter |
1.29 |
Regex_Caret_Period_Asterisk_Dollar |
0.7042658120170403 ns/iter |
0.5462524275680836 ns/iter |
1.29 |
Regex_Caret_Group_Period_Asterisk_Group_Dollar |
1.054993524498478 ns/iter |
0.8202116434505878 ns/iter |
1.29 |
Regex_Caret_X_Hyphen |
3.8669235893210367 ns/iter |
3.001668061529984 ns/iter |
1.29 |
Regex_Period_Md_Dollar |
39.31914735160301 ns/iter |
26.442895280983073 ns/iter |
1.49 |
Regex_Caret_Slash_Period_Asterisk |
4.220240808692423 ns/iter |
3.005249073762104 ns/iter |
1.40 |
Regex_Caret_Period_Range_Dollar |
1.4068181771224437 ns/iter |
1.1118332965731121 ns/iter |
1.27 |
Regex_Nested_Backtrack |
38.45352730645227 ns/iter |
33.957151417127626 ns/iter |
1.13 |
This comment was automatically generated by workflow using github-action-benchmark.
There was a problem hiding this comment.
Benchmark (linux/llvm)
Details
| Benchmark suite | Current: 056d54e | Previous: 2cc994b | Ratio |
|---|---|---|---|
Regex_Lower_S_Or_Upper_S_Asterisk |
2.8025967234727633 ns/iter |
2.7997801129628623 ns/iter |
1.00 |
Regex_Caret_Lower_S_Or_Upper_S_Asterisk_Dollar |
2.8096976862301926 ns/iter |
2.80052673275216 ns/iter |
1.00 |
Regex_Period_Asterisk |
2.4899924141999383 ns/iter |
2.5001627789123324 ns/iter |
1.00 |
Regex_Group_Period_Asterisk_Group |
2.571673793260478 ns/iter |
2.4897083726660667 ns/iter |
1.03 |
Regex_Period_Plus |
3.4365706304679082 ns/iter |
3.4242333163988388 ns/iter |
1.00 |
Regex_Period |
3.423858205677707 ns/iter |
3.4455242231413807 ns/iter |
0.99 |
Regex_Caret_Period_Plus_Dollar |
3.1160315731068975 ns/iter |
3.1133432850350244 ns/iter |
1.00 |
Regex_Caret_Group_Period_Plus_Group_Dollar |
3.1340915434267864 ns/iter |
3.1130119099220526 ns/iter |
1.01 |
Regex_Caret_Period_Asterisk_Dollar |
4.050141986592795 ns/iter |
4.045955437982471 ns/iter |
1.00 |
Regex_Caret_Group_Period_Asterisk_Group_Dollar |
4.063892876805985 ns/iter |
4.047528216526804 ns/iter |
1.00 |
Regex_Caret_X_Hyphen |
7.204358319820218 ns/iter |
7.163328406536741 ns/iter |
1.01 |
Regex_Period_Md_Dollar |
28.47325386616156 ns/iter |
28.364410277265748 ns/iter |
1.00 |
Regex_Caret_Slash_Period_Asterisk |
7.8307699295648 ns/iter |
7.784332583781212 ns/iter |
1.01 |
Regex_Caret_Period_Range_Dollar |
4.367821424544594 ns/iter |
4.119628760343867 ns/iter |
1.06 |
Regex_Nested_Backtrack |
37.792605745797836 ns/iter |
37.558846218921104 ns/iter |
1.01 |
JSON_Array_Of_Objects_Unique |
438.7191377178928 ns/iter |
438.8578546164185 ns/iter |
1.00 |
JSON_Parse_1 |
4968.709062605111 ns/iter |
4928.898968779579 ns/iter |
1.01 |
JSON_Parse_Real |
5356.2678094969515 ns/iter |
5385.611641843512 ns/iter |
0.99 |
JSON_Parse_Decimal |
7748.604264490366 ns/iter |
7636.89427212295 ns/iter |
1.01 |
JSON_Parse_Schema_ISO_Language |
3558134.707071127 ns/iter |
3541177.287878336 ns/iter |
1.00 |
JSON_Parse_Integer |
3820.978095783562 ns/iter |
3846.612789930551 ns/iter |
0.99 |
JSON_Parse_String_NonSSO_Plain |
5152.599668043774 ns/iter |
5249.723725251207 ns/iter |
0.98 |
JSON_Parse_String_SSO_Plain |
2802.788607432898 ns/iter |
2802.9778781257605 ns/iter |
1.00 |
JSON_Parse_String_Escape_Heavy |
14588.943670465096 ns/iter |
14720.081765072275 ns/iter |
0.99 |
JSON_Parse_Object_Short_Keys |
8046.731610086568 ns/iter |
7791.908066079926 ns/iter |
1.03 |
JSON_Parse_Object_Scalar_Properties |
4182.432885063647 ns/iter |
4073.914691696201 ns/iter |
1.03 |
JSON_Parse_Object_Array_Properties |
5798.828934838157 ns/iter |
5815.986990020145 ns/iter |
1.00 |
JSON_Parse_Object_Object_Properties |
5427.996936246265 ns/iter |
5836.572592978122 ns/iter |
0.93 |
JSON_Parse_Nested_Containers |
46784.64588345734 ns/iter |
46670.823296671864 ns/iter |
1.00 |
JSON_From_String_Copy |
20.25185727499167 ns/iter |
20.253776755939676 ns/iter |
1.00 |
JSON_From_String_Temporary |
18.469497094429776 ns/iter |
18.392485597125372 ns/iter |
1.00 |
JSON_Number_To_Double |
23.713107222693978 ns/iter |
23.700166111861694 ns/iter |
1.00 |
JSON_Object_At_Last_Key/8 |
5.305225531064034 ns/iter |
5.298075371514232 ns/iter |
1.00 |
JSON_Object_At_Last_Key/32 |
21.308831139027617 ns/iter |
21.514630833260778 ns/iter |
0.99 |
JSON_Object_At_Last_Key/128 |
87.68607355208385 ns/iter |
86.92000328127625 ns/iter |
1.01 |
JSON_Object_At_Last_Key/512 |
396.57899453411034 ns/iter |
394.55928410627587 ns/iter |
1.01 |
JSON_Fast_Hash_Helm_Chart_Lock |
66.02026326296652 ns/iter |
66.05122900354188 ns/iter |
1.00 |
JSON_Equality_Helm_Chart_Lock |
161.15522581914368 ns/iter |
171.96179430702344 ns/iter |
0.94 |
JSON_Divisible_By_Decimal |
251.27423554598394 ns/iter |
250.98101782102174 ns/iter |
1.00 |
JSON_String_Equal/10 |
6.234471845193032 ns/iter |
6.2329935411011865 ns/iter |
1.00 |
JSON_String_Equal/100 |
6.8964701810409625 ns/iter |
6.861133996382857 ns/iter |
1.01 |
JSON_String_Equal_Small_By_Perfect_Hash/10 |
0.9395004891690864 ns/iter |
0.9360541618029009 ns/iter |
1.00 |
JSON_String_Equal_Small_By_Runtime_Perfect_Hash/10 |
10.663844515029483 ns/iter |
10.614204854673892 ns/iter |
1.00 |
JSON_String_Fast_Hash/10 |
2.8015237967117295 ns/iter |
2.8033688338995963 ns/iter |
1.00 |
JSON_String_Fast_Hash/100 |
2.803096138674888 ns/iter |
2.8027633951152935 ns/iter |
1.00 |
JSON_String_Key_Hash/10 |
2.494247145242195 ns/iter |
2.492686675449004 ns/iter |
1.00 |
JSON_String_Key_Hash/100 |
6.539396397450784 ns/iter |
6.53863965953703 ns/iter |
1.00 |
JSON_Object_Defines_Miss_Same_Length |
3.750420916618186 ns/iter |
3.7679421468324508 ns/iter |
1.00 |
JSON_Object_Defines_Miss_Too_Small |
2.7633908449907825 ns/iter |
2.7513169283820695 ns/iter |
1.00 |
JSON_Object_Defines_Miss_Too_Large |
2.6697458335078097 ns/iter |
2.659455040075825 ns/iter |
1.00 |
Pointer_Object_Traverse |
24.122588036501696 ns/iter |
24.318535064523562 ns/iter |
0.99 |
Pointer_Object_Try_Traverse |
30.21417170137872 ns/iter |
30.202178439418574 ns/iter |
1.00 |
Pointer_Push_Back_Pointer_To_Weak_Pointer |
178.90391936520402 ns/iter |
160.19081504900606 ns/iter |
1.12 |
Pointer_Walker_Schema_ISO_Language |
1715638.0336540604 ns/iter |
1687773.7566264512 ns/iter |
1.02 |
Pointer_Maybe_Tracked_Deeply_Nested/0 |
1233160.462081088 ns/iter |
1259055.8701753363 ns/iter |
0.98 |
Pointer_Maybe_Tracked_Deeply_Nested/1 |
1680312.8987952822 ns/iter |
1666733.076738439 ns/iter |
1.01 |
Pointer_Position_Tracker_Get_Deeply_Nested |
692.7894063669946 ns/iter |
688.7736965645087 ns/iter |
1.01 |
URITemplateRouter_Create |
32724.225742483228 ns/iter |
31959.58148334126 ns/iter |
1.02 |
URITemplateRouter_Match |
176.90671164814546 ns/iter |
178.7115637839049 ns/iter |
0.99 |
URITemplateRouter_Match_BasePath |
207.51997112474072 ns/iter |
204.39149453248172 ns/iter |
1.02 |
URITemplateRouterView_Restore |
7618.625636348701 ns/iter |
7890.651973583173 ns/iter |
0.97 |
URITemplateRouterView_Match |
146.7642233933131 ns/iter |
146.48282270187295 ns/iter |
1.00 |
URITemplateRouterView_Match_BasePath |
163.81226005633982 ns/iter |
163.91500758173805 ns/iter |
1.00 |
URITemplateRouterView_Arguments |
437.7809942781385 ns/iter |
442.02576082468084 ns/iter |
0.99 |
JSONL_Parse_Large |
9679672.69444456 ns/iter |
9686161.499999456 ns/iter |
1.00 |
JSONL_Parse_Large_GZIP |
11273516.016129384 ns/iter |
11341370.596774654 ns/iter |
0.99 |
HTML_Build_Table_100000 |
67010978.20000541 ns/iter |
68326716.29999822 ns/iter |
0.98 |
HTML_Render_Table_100000 |
5282290.090909128 ns/iter |
5523088.107692659 ns/iter |
0.96 |
GZIP_Compress_ISO_Language_Set_3_Locations |
32188135.749998994 ns/iter |
32632872.76190242 ns/iter |
0.99 |
GZIP_Decompress_ISO_Language_Set_3_Locations |
4105432.9649128783 ns/iter |
4357092.285713915 ns/iter |
0.94 |
GZIP_Compress_ISO_Language_Set_3_Schema |
1857370.108753298 ns/iter |
1859108.4654253018 ns/iter |
1.00 |
GZIP_Decompress_ISO_Language_Set_3_Schema |
357918.50153689296 ns/iter |
358419.92930323235 ns/iter |
1.00 |
JOSE_VerifySignature_RS256 |
56969.816085936385 ns/iter |
56833.455217218834 ns/iter |
1.00 |
JOSE_VerifySignature_ES512 |
2420537.7889271644 ns/iter |
2428147.1076387595 ns/iter |
1.00 |
This comment was automatically generated by workflow using github-action-benchmark.
There was a problem hiding this comment.
Benchmark (macos/llvm)
Details
| Benchmark suite | Current: 056d54e | Previous: 2cc994b | Ratio |
|---|---|---|---|
Regex_Lower_S_Or_Upper_S_Asterisk |
2.366421309054733 ns/iter |
2.0728238810417823 ns/iter |
1.14 |
Regex_Caret_Lower_S_Or_Upper_S_Asterisk_Dollar |
2.247401910026962 ns/iter |
2.0783991991954704 ns/iter |
1.08 |
Regex_Period_Asterisk |
2.0386995838055424 ns/iter |
2.21803198104374 ns/iter |
0.92 |
Regex_Group_Period_Asterisk_Group |
2.1051628716905517 ns/iter |
2.3069028018026114 ns/iter |
0.91 |
Regex_Period_Plus |
2.0795825805639856 ns/iter |
2.7461385305216632 ns/iter |
0.76 |
Regex_Period |
2.0749090683813387 ns/iter |
2.5537371064172123 ns/iter |
0.81 |
Regex_Caret_Period_Plus_Dollar |
2.1163551556315143 ns/iter |
2.75654077279346 ns/iter |
0.77 |
Regex_Caret_Group_Period_Plus_Group_Dollar |
2.0635184537753903 ns/iter |
2.601058101934299 ns/iter |
0.79 |
Regex_Caret_Period_Asterisk_Dollar |
1.8426451934597776 ns/iter |
2.0187606391218726 ns/iter |
0.91 |
Regex_Caret_Group_Period_Asterisk_Group_Dollar |
1.750641461741664 ns/iter |
1.9713406508038585 ns/iter |
0.89 |
Regex_Caret_X_Hyphen |
6.341571394610121 ns/iter |
7.259586691046719 ns/iter |
0.87 |
Regex_Period_Md_Dollar |
17.561602846210725 ns/iter |
20.989148423598266 ns/iter |
0.84 |
Regex_Caret_Slash_Period_Asterisk |
5.169326228681285 ns/iter |
5.651942815292681 ns/iter |
0.91 |
Regex_Caret_Period_Range_Dollar |
2.3644532648298036 ns/iter |
2.474889586642646 ns/iter |
0.96 |
Regex_Nested_Backtrack |
30.864370538676887 ns/iter |
35.09337858514018 ns/iter |
0.88 |
JSON_Array_Of_Objects_Unique |
401.509221659094 ns/iter |
467.3152267349672 ns/iter |
0.86 |
JSON_Parse_1 |
4199.898041722529 ns/iter |
5223.231930632642 ns/iter |
0.80 |
JSON_Parse_Real |
5609.433087297122 ns/iter |
7117.395223577908 ns/iter |
0.79 |
JSON_Parse_Decimal |
6069.213552489698 ns/iter |
7854.06127037644 ns/iter |
0.77 |
JSON_Parse_Schema_ISO_Language |
3163204.74641171 ns/iter |
5351143.750000346 ns/iter |
0.59 |
JSON_Parse_Integer |
3119.6702144368437 ns/iter |
4155.733411500964 ns/iter |
0.75 |
JSON_Parse_String_NonSSO_Plain |
3734.0270374517663 ns/iter |
4511.2312207714 ns/iter |
0.83 |
JSON_Parse_String_SSO_Plain |
2087.996912335652 ns/iter |
2288.741332773507 ns/iter |
0.91 |
JSON_Parse_String_Escape_Heavy |
18115.559826940545 ns/iter |
19814.96241843771 ns/iter |
0.91 |
JSON_Parse_Object_Short_Keys |
5410.66479985966 ns/iter |
6196.735223940375 ns/iter |
0.87 |
JSON_Parse_Object_Scalar_Properties |
2922.01749316865 ns/iter |
3612.763233321804 ns/iter |
0.81 |
JSON_Parse_Object_Array_Properties |
4078.4468768593442 ns/iter |
4879.2818067733715 ns/iter |
0.84 |
JSON_Parse_Object_Object_Properties |
3827.0551105536797 ns/iter |
5471.435829999791 ns/iter |
0.70 |
JSON_Parse_Nested_Containers |
29845.565197674125 ns/iter |
41396.554679460685 ns/iter |
0.72 |
JSON_From_String_Copy |
26.659681195032828 ns/iter |
32.23812645641086 ns/iter |
0.83 |
JSON_From_String_Temporary |
20.790756753993627 ns/iter |
26.724028441411583 ns/iter |
0.78 |
JSON_Number_To_Double |
38.19255805149137 ns/iter |
40.669012223182385 ns/iter |
0.94 |
JSON_Object_At_Last_Key/8 |
4.000177901373005 ns/iter |
4.311661312683349 ns/iter |
0.93 |
JSON_Object_At_Last_Key/32 |
13.250546801114155 ns/iter |
13.843878949667273 ns/iter |
0.96 |
JSON_Object_At_Last_Key/128 |
56.665540389099945 ns/iter |
60.46942357454198 ns/iter |
0.94 |
JSON_Object_At_Last_Key/512 |
200.86613574793674 ns/iter |
224.3358261046845 ns/iter |
0.90 |
JSON_Fast_Hash_Helm_Chart_Lock |
61.50338894327254 ns/iter |
78.07641232677281 ns/iter |
0.79 |
JSON_Equality_Helm_Chart_Lock |
168.1678722104974 ns/iter |
188.6294095721672 ns/iter |
0.89 |
JSON_Divisible_By_Decimal |
190.6808893049322 ns/iter |
242.25224308841047 ns/iter |
0.79 |
JSON_String_Equal/10 |
7.370373459493912 ns/iter |
11.11797083922311 ns/iter |
0.66 |
JSON_String_Equal/100 |
7.455324082728807 ns/iter |
9.260490064510561 ns/iter |
0.81 |
JSON_String_Equal_Small_By_Perfect_Hash/10 |
0.8275977609431215 ns/iter |
1.0638830889078361 ns/iter |
0.78 |
JSON_String_Equal_Small_By_Runtime_Perfect_Hash/10 |
3.4903831305054815 ns/iter |
4.19961972267464 ns/iter |
0.83 |
JSON_String_Fast_Hash/10 |
3.1611195043753715 ns/iter |
3.0265141857899245 ns/iter |
1.04 |
JSON_String_Fast_Hash/100 |
2.1347083544243772 ns/iter |
2.4142634944174493 ns/iter |
0.88 |
JSON_String_Key_Hash/10 |
1.406815728626828 ns/iter |
1.5824728043497498 ns/iter |
0.89 |
JSON_String_Key_Hash/100 |
2.4245227571925145 ns/iter |
2.5060095640416957 ns/iter |
0.97 |
JSON_Object_Defines_Miss_Same_Length |
2.470112035321123 ns/iter |
2.8514630251231234 ns/iter |
0.87 |
JSON_Object_Defines_Miss_Too_Small |
2.644840324368772 ns/iter |
3.1505785325751217 ns/iter |
0.84 |
JSON_Object_Defines_Miss_Too_Large |
2.550014214383866 ns/iter |
2.94651483321918 ns/iter |
0.87 |
Pointer_Object_Traverse |
14.50909612988284 ns/iter |
22.245378626371235 ns/iter |
0.65 |
Pointer_Object_Try_Traverse |
24.003987906451314 ns/iter |
33.548491758757486 ns/iter |
0.72 |
Pointer_Push_Back_Pointer_To_Weak_Pointer |
164.5930516694612 ns/iter |
226.86442680871923 ns/iter |
0.73 |
Pointer_Walker_Schema_ISO_Language |
2944974.018450132 ns/iter |
4169465.029762131 ns/iter |
0.71 |
Pointer_Maybe_Tracked_Deeply_Nested/0 |
1083556.9903581152 ns/iter |
1373230.4369920427 ns/iter |
0.79 |
Pointer_Maybe_Tracked_Deeply_Nested/1 |
1628493.6450000487 ns/iter |
1876821.9496021494 ns/iter |
0.87 |
Pointer_Position_Tracker_Get_Deeply_Nested |
388.4374269655604 ns/iter |
424.89694669324643 ns/iter |
0.91 |
URITemplateRouter_Create |
26694.331650940847 ns/iter |
28173.120947953725 ns/iter |
0.95 |
URITemplateRouter_Match |
180.85458010705497 ns/iter |
183.72480254623838 ns/iter |
0.98 |
URITemplateRouter_Match_BasePath |
212.00485895906567 ns/iter |
220.96502239115523 ns/iter |
0.96 |
URITemplateRouterView_Restore |
10554.724138407428 ns/iter |
10649.379573618766 ns/iter |
0.99 |
URITemplateRouterView_Match |
140.49835654946557 ns/iter |
165.7897393523248 ns/iter |
0.85 |
URITemplateRouterView_Match_BasePath |
170.94726655729042 ns/iter |
186.76398266033044 ns/iter |
0.92 |
URITemplateRouterView_Arguments |
450.8806398818983 ns/iter |
517.6723437412832 ns/iter |
0.87 |
JSONL_Parse_Large |
14434444.444443924 ns/iter |
18819278.571429875 ns/iter |
0.77 |
JSONL_Parse_Large_GZIP |
17534602.634147476 ns/iter |
17562067.452383004 ns/iter |
1.00 |
HTML_Build_Table_100000 |
78344509.22222106 ns/iter |
83310134.22222592 ns/iter |
0.94 |
HTML_Render_Table_100000 |
5273388.7500005495 ns/iter |
4946665.899082073 ns/iter |
1.07 |
GZIP_Compress_ISO_Language_Set_3_Locations |
29645944.458332945 ns/iter |
34324519.80952356 ns/iter |
0.86 |
GZIP_Decompress_ISO_Language_Set_3_Locations |
6648985.849056033 ns/iter |
9199645.38043478 ns/iter |
0.72 |
GZIP_Compress_ISO_Language_Set_3_Schema |
1655260.1050000247 ns/iter |
2129027.9503106903 ns/iter |
0.78 |
GZIP_Decompress_ISO_Language_Set_3_Schema |
315255.0806528806 ns/iter |
349328.3665024173 ns/iter |
0.90 |
JOSE_VerifySignature_RS256 |
25131.862666294637 ns/iter |
29422.810912156256 ns/iter |
0.85 |
JOSE_VerifySignature_ES512 |
1140039.7417027927 ns/iter |
1376406.740072138 ns/iter |
0.83 |
This comment was automatically generated by workflow using github-action-benchmark.
There was a problem hiding this comment.
Benchmark (windows/msvc)
Details
| Benchmark suite | Current: 056d54e | Previous: 2cc994b | Ratio |
|---|---|---|---|
Regex_Lower_S_Or_Upper_S_Asterisk |
5.070413000000826 ns/iter |
5.070589000000609 ns/iter |
1.00 |
Regex_Caret_Lower_S_Or_Upper_S_Asterisk_Dollar |
5.016695535713568 ns/iter |
5.007884821428173 ns/iter |
1.00 |
Regex_Period_Asterisk |
5.014570380583819 ns/iter |
5.016402999999627 ns/iter |
1.00 |
Regex_Group_Period_Asterisk_Group |
5.009777999999869 ns/iter |
5.01284499999997 ns/iter |
1.00 |
Regex_Period_Plus |
4.770450010648101 ns/iter |
4.7867501349966775 ns/iter |
1.00 |
Regex_Period |
4.761873326956307 ns/iter |
4.7928421885704475 ns/iter |
0.99 |
Regex_Caret_Period_Plus_Dollar |
4.769599800171847 ns/iter |
4.783322555320003 ns/iter |
1.00 |
Regex_Caret_Group_Period_Plus_Group_Dollar |
4.770097322493941 ns/iter |
4.7842784385679735 ns/iter |
1.00 |
Regex_Caret_Period_Asterisk_Dollar |
5.01107946428598 ns/iter |
5.016123999999991 ns/iter |
1.00 |
Regex_Caret_Group_Period_Asterisk_Group_Dollar |
5.038209000000506 ns/iter |
5.013579464285759 ns/iter |
1.00 |
Regex_Caret_X_Hyphen |
8.160927455356871 ns/iter |
8.14934821428486 ns/iter |
1.00 |
Regex_Period_Md_Dollar |
44.33334374999731 ns/iter |
44.27618978325223 ns/iter |
1.00 |
Regex_Caret_Slash_Period_Asterisk |
7.851479910714333 ns/iter |
7.840045758928937 ns/iter |
1.00 |
Regex_Caret_Period_Range_Dollar |
5.958210714286086 ns/iter |
5.95867589285705 ns/iter |
1.00 |
Regex_Nested_Backtrack |
55.29860000000327 ns/iter |
53.74399999999874 ns/iter |
1.03 |
JSON_Array_Of_Objects_Unique |
487.6328000000285 ns/iter |
496.16070000001855 ns/iter |
0.98 |
JSON_Parse_1 |
9259.352678570665 ns/iter |
8782.767487644647 ns/iter |
1.05 |
JSON_Parse_Real |
19433.595607189454 ns/iter |
16065.578124998377 ns/iter |
1.21 |
JSON_Parse_Decimal |
14128.964285714372 ns/iter |
11789.842857142827 ns/iter |
1.20 |
JSON_Parse_Schema_ISO_Language |
7908921.111110583 ns/iter |
7489136.6666671885 ns/iter |
1.06 |
JSON_Parse_Integer |
6524.358035713972 ns/iter |
6069.354464286343 ns/iter |
1.07 |
JSON_Parse_String_NonSSO_Plain |
8652.58482142853 ns/iter |
7813.399553571187 ns/iter |
1.11 |
JSON_Parse_String_SSO_Plain |
3494.472981201906 ns/iter |
3705.605704275838 ns/iter |
0.94 |
JSON_Parse_String_Escape_Heavy |
21748.606250000077 ns/iter |
22252.23437499935 ns/iter |
0.98 |
JSON_Parse_Object_Short_Keys |
13306.03077665011 ns/iter |
13526.29464285826 ns/iter |
0.98 |
JSON_Parse_Object_Scalar_Properties |
6832.968749999883 ns/iter |
7027.20982142857 ns/iter |
0.97 |
JSON_Parse_Object_Array_Properties |
11383.828125000051 ns/iter |
11329.978571428763 ns/iter |
1.00 |
JSON_Parse_Object_Object_Properties |
11577.396875001255 ns/iter |
11548.6500000007 ns/iter |
1.00 |
JSON_Parse_Nested_Containers |
78811.00446428693 ns/iter |
79862.45535714127 ns/iter |
0.99 |
JSON_From_String_Copy |
64.62190178571144 ns/iter |
64.62234821428174 ns/iter |
1.00 |
JSON_From_String_Temporary |
58.5283035714314 ns/iter |
59.57158035713965 ns/iter |
0.98 |
JSON_Number_To_Double |
120.41328571427812 ns/iter |
120.68844642858575 ns/iter |
1.00 |
JSON_Object_At_Last_Key/8 |
7.22693839285731 ns/iter |
7.308821428570716 ns/iter |
0.99 |
JSON_Object_At_Last_Key/32 |
23.23601759781169 ns/iter |
23.548546428571626 ns/iter |
0.99 |
JSON_Object_At_Last_Key/128 |
89.76386652839393 ns/iter |
89.92495580693026 ns/iter |
1.00 |
JSON_Object_At_Last_Key/512 |
425.4688388009328 ns/iter |
427.28772301363483 ns/iter |
1.00 |
JSON_Fast_Hash_Helm_Chart_Lock |
64.09491071428519 ns/iter |
67.26086607140961 ns/iter |
0.95 |
JSON_Equality_Helm_Chart_Lock |
299.2715178571359 ns/iter |
446.84781250004283 ns/iter |
0.67 |
JSON_Divisible_By_Decimal |
299.06895769319254 ns/iter |
406.1725446428609 ns/iter |
0.74 |
JSON_String_Equal/10 |
15.057477678571527 ns/iter |
16.07938392856921 ns/iter |
0.94 |
JSON_String_Equal/100 |
16.31633426573868 ns/iter |
17.736898318726087 ns/iter |
0.92 |
JSON_String_Equal_Small_By_Perfect_Hash/10 |
2.5039049999999667 ns/iter |
2.5269050881581685 ns/iter |
0.99 |
JSON_String_Equal_Small_By_Runtime_Perfect_Hash/10 |
14.997868303573574 ns/iter |
14.187776722375792 ns/iter |
1.06 |
JSON_String_Fast_Hash/10 |
4.6993238944182 ns/iter |
4.704970992644613 ns/iter |
1.00 |
JSON_String_Fast_Hash/100 |
4.698811082213211 ns/iter |
4.717001126601257 ns/iter |
1.00 |
JSON_String_Key_Hash/10 |
5.3329366071435755 ns/iter |
5.355925999999727 ns/iter |
1.00 |
JSON_String_Key_Hash/100 |
11.874200000001167 ns/iter |
11.870735937502985 ns/iter |
1.00 |
JSON_Object_Defines_Miss_Same_Length |
4.086301614439639 ns/iter |
4.095531034099495 ns/iter |
1.00 |
JSON_Object_Defines_Miss_Too_Small |
5.151040000000648 ns/iter |
5.048993000000337 ns/iter |
1.02 |
JSON_Object_Defines_Miss_Too_Large |
4.39278187499994 ns/iter |
4.413574721306333 ns/iter |
1.00 |
Pointer_Object_Traverse |
69.66886607143255 ns/iter |
70.13229464285635 ns/iter |
0.99 |
Pointer_Object_Try_Traverse |
70.97478794642699 ns/iter |
71.17441964284511 ns/iter |
1.00 |
Pointer_Push_Back_Pointer_To_Weak_Pointer |
174.27546702737743 ns/iter |
183.72558783260942 ns/iter |
0.95 |
Pointer_Walker_Schema_ISO_Language |
7865216.6666668365 ns/iter |
7688918.888887505 ns/iter |
1.02 |
Pointer_Maybe_Tracked_Deeply_Nested/0 |
2418431.7857142496 ns/iter |
2424156.0606059683 ns/iter |
1.00 |
Pointer_Maybe_Tracked_Deeply_Nested/1 |
3779162.011173155 ns/iter |
3681075.9358284357 ns/iter |
1.03 |
Pointer_Position_Tracker_Get_Deeply_Nested |
537.3290651921743 ns/iter |
562.1583705356212 ns/iter |
0.96 |
URITemplateRouter_Create |
40167.92410714208 ns/iter |
43243.27084905026 ns/iter |
0.93 |
URITemplateRouter_Match |
232.6199687500008 ns/iter |
232.83609374999514 ns/iter |
1.00 |
URITemplateRouter_Match_BasePath |
264.0464024127896 ns/iter |
264.16915911466884 ns/iter |
1.00 |
URITemplateRouterView_Restore |
31672.915178572024 ns/iter |
32283.84662260454 ns/iter |
0.98 |
URITemplateRouterView_Match |
179.45506066562757 ns/iter |
180.00489598243374 ns/iter |
1.00 |
URITemplateRouterView_Match_BasePath |
204.31814712864377 ns/iter |
204.6836560408723 ns/iter |
1.00 |
URITemplateRouterView_Arguments |
539.0677678571519 ns/iter |
531.5137999998569 ns/iter |
1.01 |
JSONL_Parse_Large |
32466509.52381255 ns/iter |
32845481.818185363 ns/iter |
0.99 |
JSONL_Parse_Large_GZIP |
33158290.00000008 ns/iter |
32979671.42856621 ns/iter |
1.01 |
HTML_Build_Table_100000 |
90479485.71428931 ns/iter |
91762514.285717 ns/iter |
0.99 |
HTML_Render_Table_100000 |
8381473.3333323 ns/iter |
7890855.555554783 ns/iter |
1.06 |
GZIP_Compress_ISO_Language_Set_3_Locations |
36512942.1052667 ns/iter |
37693357.89473572 ns/iter |
0.97 |
GZIP_Decompress_ISO_Language_Set_3_Locations |
10140052.000000045 ns/iter |
10381349.9999994 ns/iter |
0.98 |
GZIP_Compress_ISO_Language_Set_3_Schema |
2109469.3749997616 ns/iter |
2188010.312499955 ns/iter |
0.96 |
GZIP_Decompress_ISO_Language_Set_3_Schema |
621884.9107142432 ns/iter |
626486.1607141775 ns/iter |
0.99 |
JOSE_VerifySignature_RS256 |
21176.690624997722 ns/iter |
21331.384375002926 ns/iter |
0.99 |
JOSE_VerifySignature_ES512 |
1529373.6607142298 ns/iter |
1553581.2499999832 ns/iter |
0.98 |
This comment was automatically generated by workflow using github-action-benchmark.
See: json-schema-org/JSON-Schema-Test-Suite#927 Signed-off-by: Juan Cruz Viotti <jv@jviotti.com>
|
This pull request is too large for Augment to review. The PR exceeds the maximum size limit of 75000 tokens (approximately 300000 characters) for automated code review. Please consider breaking this PR into smaller, more focused changes. |
There was a problem hiding this comment.
1 issue found across 16 files
Tip: cubic can generate docs of your entire codebase and keep them up to date. Try it here.
Re-trigger cubic
See: json-schema-org/JSON-Schema-Test-Suite#927
Signed-off-by: Juan Cruz Viotti jv@jviotti.com