Implement idn-hostname RFC 5890 validation#2409
Conversation
Signed-off-by: Juan Cruz Viotti <jv@jviotti.com>
🤖 Augment PR SummarySummary: This PR adds support for validating the JSON Schema Changes:
Technical Notes: The IDN hostname check is explicitly documented as a best-effort lexical validation (valid UTF-8 sequences + label structure/length rules) rather than full IDNA2008 processing (normalization/Bidi/ContextJ/O/Punycode round-trip). 🤖 Was this summary useful? React with 👍 or 👎 |
There was a problem hiding this comment.
Benchmark (linux/llvm)
Details
| Benchmark suite | Current: b85b150 | Previous: e832723 | Ratio |
|---|---|---|---|
Regex_Lower_S_Or_Upper_S_Asterisk |
1.1914428305642708 ns/iter |
2.1996567728995133 ns/iter |
0.54 |
Regex_Caret_Lower_S_Or_Upper_S_Asterisk_Dollar |
1.3792817128209471 ns/iter |
2.2077294717371823 ns/iter |
0.62 |
Regex_Period_Asterisk |
1.1648161830409205 ns/iter |
2.18010535676737 ns/iter |
0.53 |
Regex_Group_Period_Asterisk_Group |
1.4177123140255494 ns/iter |
2.1937180536919203 ns/iter |
0.65 |
Regex_Period_Plus |
1.2143260757953527 ns/iter |
2.8070780573028404 ns/iter |
0.43 |
Regex_Period |
1.5250713887518197 ns/iter |
3.114797648871015 ns/iter |
0.49 |
Regex_Caret_Period_Plus_Dollar |
1.23598286751836 ns/iter |
2.8063296796131874 ns/iter |
0.44 |
Regex_Caret_Group_Period_Plus_Group_Dollar |
1.4605278369643384 ns/iter |
3.112969479282914 ns/iter |
0.47 |
Regex_Caret_Period_Asterisk_Dollar |
1.1975064248975982 ns/iter |
3.114146816637613 ns/iter |
0.38 |
Regex_Caret_Group_Period_Asterisk_Group_Dollar |
1.414783197959901 ns/iter |
3.422576970000296 ns/iter |
0.41 |
Regex_Caret_X_Hyphen |
2.3589336779671317 ns/iter |
6.544977561330682 ns/iter |
0.36 |
Regex_Period_Md_Dollar |
14.235820321945 ns/iter |
27.416826738377754 ns/iter |
0.52 |
Regex_Caret_Slash_Period_Asterisk |
2.3498347041373924 ns/iter |
6.850976699466928 ns/iter |
0.34 |
Regex_Caret_Period_Range_Dollar |
1.4041166159769536 ns/iter |
3.7361464136938953 ns/iter |
0.38 |
Regex_Nested_Backtrack |
19.125630128728663 ns/iter |
36.905777877543265 ns/iter |
0.52 |
JSON_Array_Of_Objects_Unique |
237.1694404164857 ns/iter |
386.73397222830675 ns/iter |
0.61 |
JSON_Parse_1 |
2747.949076042122 ns/iter |
5836.440772591699 ns/iter |
0.47 |
JSON_Parse_Real |
5320.534786795607 ns/iter |
10562.348369334371 ns/iter |
0.50 |
JSON_Parse_Decimal |
5839.365485942539 ns/iter |
10886.148669772096 ns/iter |
0.54 |
JSON_Parse_Schema_ISO_Language |
1816877.875324741 ns/iter |
3566214.255102131 ns/iter |
0.51 |
JSON_Fast_Hash_Helm_Chart_Lock |
34.11665581742569 ns/iter |
53.558191364273405 ns/iter |
0.64 |
JSON_Equality_Helm_Chart_Lock |
90.86801180755988 ns/iter |
160.21464315907295 ns/iter |
0.57 |
JSON_Divisible_By_Decimal |
137.78389016396133 ns/iter |
247.3694544705118 ns/iter |
0.56 |
JSON_String_Equal/10 |
2.8113477906732194 ns/iter |
7.16432634801008 ns/iter |
0.39 |
JSON_String_Equal/100 |
3.2511288662186737 ns/iter |
6.858073821179724 ns/iter |
0.47 |
JSON_String_Equal_Small_By_Perfect_Hash/10 |
0.48608104143772307 ns/iter |
0.9362119009422682 ns/iter |
0.52 |
JSON_String_Equal_Small_By_Runtime_Perfect_Hash/10 |
7.152380609317682 ns/iter |
10.274975048031724 ns/iter |
0.70 |
JSON_String_Fast_Hash/10 |
1.3773611456941084 ns/iter |
2.4925839722744243 ns/iter |
0.55 |
JSON_String_Fast_Hash/100 |
1.3872997510154195 ns/iter |
2.494952999665258 ns/iter |
0.56 |
JSON_String_Key_Hash/10 |
1.1449994110443524 ns/iter |
2.1808782778303364 ns/iter |
0.53 |
JSON_String_Key_Hash/100 |
3.763390087534023 ns/iter |
6.540627252411709 ns/iter |
0.58 |
JSON_Object_Defines_Miss_Same_Length |
1.767474040348155 ns/iter |
3.739178778188629 ns/iter |
0.47 |
JSON_Object_Defines_Miss_Too_Small |
1.8432348181673832 ns/iter |
3.741718881691402 ns/iter |
0.49 |
JSON_Object_Defines_Miss_Too_Large |
1.7604784159080709 ns/iter |
3.742828795753063 ns/iter |
0.47 |
Pointer_Object_Traverse |
14.061963409470586 ns/iter |
24.320590353654172 ns/iter |
0.58 |
Pointer_Object_Try_Traverse |
14.94649490650147 ns/iter |
26.02193851475689 ns/iter |
0.57 |
Pointer_Push_Back_Pointer_To_Weak_Pointer |
83.08652985683244 ns/iter |
157.0903712712709 ns/iter |
0.53 |
Pointer_Walker_Schema_ISO_Language |
1468772.3655031002 ns/iter |
3000939.5517241983 ns/iter |
0.49 |
Pointer_Maybe_Tracked_Deeply_Nested/0 |
634784.1923775006 ns/iter |
1440930.2282827944 ns/iter |
0.44 |
Pointer_Maybe_Tracked_Deeply_Nested/1 |
918185.0241545355 ns/iter |
1900062.3196722285 ns/iter |
0.48 |
Pointer_Position_Tracker_Get_Deeply_Nested |
463.39603869552815 ns/iter |
644.4319524626187 ns/iter |
0.72 |
URITemplateRouter_Create |
16992.22847033918 ns/iter |
31566.01145640707 ns/iter |
0.54 |
URITemplateRouter_Match |
81.74306997004426 ns/iter |
176.1295524383524 ns/iter |
0.46 |
URITemplateRouter_Match_BasePath |
90.9840845214373 ns/iter |
203.80128089736536 ns/iter |
0.45 |
URITemplateRouterView_Restore |
6540.7546962259075 ns/iter |
7652.612550336167 ns/iter |
0.85 |
URITemplateRouterView_Match |
74.36515595857861 ns/iter |
144.11980573589253 ns/iter |
0.52 |
URITemplateRouterView_Match_BasePath |
87.69316252763915 ns/iter |
162.88782772310375 ns/iter |
0.54 |
URITemplateRouterView_Arguments |
299.19646166952674 ns/iter |
434.82304434756725 ns/iter |
0.69 |
JSONL_Parse_Large |
6049614.894736845 ns/iter |
10758670.507692175 ns/iter |
0.56 |
JSONL_Parse_Large_GZIP |
6693002.2499997225 ns/iter |
11962355.56896509 ns/iter |
0.56 |
HTML_Build_Table_100000 |
52723687.15384783 ns/iter |
62957515.81818236 ns/iter |
0.84 |
HTML_Render_Table_100000 |
4155113.357575663 ns/iter |
5257504.618320915 ns/iter |
0.79 |
GZIP_Compress_ISO_Language_Set_3_Locations |
18673349.763157662 ns/iter |
33918662.00000019 ns/iter |
0.55 |
GZIP_Decompress_ISO_Language_Set_3_Locations |
2481561.8723404934 ns/iter |
4729387.637583893 ns/iter |
0.52 |
GZIP_Compress_ISO_Language_Set_3_Schema |
1254593.7377048738 ns/iter |
1878856.629032142 ns/iter |
0.67 |
GZIP_Decompress_ISO_Language_Set_3_Schema |
209767.11318407572 ns/iter |
377606.18736501486 ns/iter |
0.56 |
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: b85b150 | Previous: b1ba863 | Ratio |
|---|---|---|---|
Regex_Lower_S_Or_Upper_S_Asterisk |
2.060668870361626 ns/iter |
1.9498575132154228 ns/iter |
1.06 |
Regex_Caret_Lower_S_Or_Upper_S_Asterisk_Dollar |
1.786144226689541 ns/iter |
1.5716975251422667 ns/iter |
1.14 |
Regex_Period_Asterisk |
1.7088447998095673 ns/iter |
1.5677963767250498 ns/iter |
1.09 |
Regex_Group_Period_Asterisk_Group |
1.7082927392150502 ns/iter |
1.5727920776184068 ns/iter |
1.09 |
Regex_Period_Plus |
2.0374219669976887 ns/iter |
1.8913269906619714 ns/iter |
1.08 |
Regex_Period |
2.0643453604671826 ns/iter |
1.9886426656393814 ns/iter |
1.04 |
Regex_Caret_Period_Plus_Dollar |
2.050588671143725 ns/iter |
1.8804430502677172 ns/iter |
1.09 |
Regex_Caret_Group_Period_Plus_Group_Dollar |
2.0342911946360345 ns/iter |
1.8837379136328194 ns/iter |
1.08 |
Regex_Caret_Period_Asterisk_Dollar |
1.7413575729662103 ns/iter |
1.5742698628071614 ns/iter |
1.11 |
Regex_Caret_Group_Period_Asterisk_Group_Dollar |
1.6826541446569054 ns/iter |
1.5679679774002133 ns/iter |
1.07 |
Regex_Caret_X_Hyphen |
6.083229846447491 ns/iter |
5.648259347672337 ns/iter |
1.08 |
Regex_Period_Md_Dollar |
16.24018147649004 ns/iter |
15.123385113023758 ns/iter |
1.07 |
Regex_Caret_Slash_Period_Asterisk |
8.038488015567467 ns/iter |
7.772013135707572 ns/iter |
1.03 |
Regex_Caret_Period_Range_Dollar |
1.7038710326895687 ns/iter |
1.7184340224580297 ns/iter |
0.99 |
Regex_Nested_Backtrack |
24.66580436823019 ns/iter |
22.752033471974023 ns/iter |
1.08 |
JSON_Array_Of_Objects_Unique |
431.83385113384713 ns/iter |
394.6299077010257 ns/iter |
1.09 |
JSON_Parse_1 |
3916.4803855877162 ns/iter |
3754.5985203158434 ns/iter |
1.04 |
JSON_Parse_Real |
6494.454128605847 ns/iter |
6187.403970258284 ns/iter |
1.05 |
JSON_Parse_Decimal |
8141.159978395347 ns/iter |
7790.664281801778 ns/iter |
1.04 |
JSON_Parse_Schema_ISO_Language |
2859586.39591817 ns/iter |
3022545.204633364 ns/iter |
0.95 |
JSON_Fast_Hash_Helm_Chart_Lock |
58.18492709360645 ns/iter |
64.23887646561037 ns/iter |
0.91 |
JSON_Equality_Helm_Chart_Lock |
132.15748486052806 ns/iter |
132.5628476962344 ns/iter |
1.00 |
JSON_Divisible_By_Decimal |
175.55606153320053 ns/iter |
162.699351754123 ns/iter |
1.08 |
JSON_String_Equal/10 |
6.962355014520703 ns/iter |
6.572387544378132 ns/iter |
1.06 |
JSON_String_Equal/100 |
6.420466925447963 ns/iter |
6.18444619868963 ns/iter |
1.04 |
JSON_String_Equal_Small_By_Perfect_Hash/10 |
0.7758035881285195 ns/iter |
0.698022135273412 ns/iter |
1.11 |
JSON_String_Equal_Small_By_Runtime_Perfect_Hash/10 |
3.343833115465451 ns/iter |
3.032969985806016 ns/iter |
1.10 |
JSON_String_Fast_Hash/10 |
2.3704860478698317 ns/iter |
2.1944555659274556 ns/iter |
1.08 |
JSON_String_Fast_Hash/100 |
2.1316357299141644 ns/iter |
1.8804884880131447 ns/iter |
1.13 |
JSON_String_Key_Hash/10 |
1.3604295526245487 ns/iter |
1.2547771583319252 ns/iter |
1.08 |
JSON_String_Key_Hash/100 |
2.1132809589555066 ns/iter |
1.9917750540988326 ns/iter |
1.06 |
JSON_Object_Defines_Miss_Same_Length |
2.3815318898226594 ns/iter |
2.194540130344043 ns/iter |
1.09 |
JSON_Object_Defines_Miss_Too_Small |
2.367477053065266 ns/iter |
2.1930798418551594 ns/iter |
1.08 |
JSON_Object_Defines_Miss_Too_Large |
2.365936801308455 ns/iter |
2.237980701671087 ns/iter |
1.06 |
Pointer_Object_Traverse |
14.066877910119066 ns/iter |
12.914187773656645 ns/iter |
1.09 |
Pointer_Object_Try_Traverse |
19.131039795540495 ns/iter |
18.788708379744644 ns/iter |
1.02 |
Pointer_Push_Back_Pointer_To_Weak_Pointer |
153.7001393754598 ns/iter |
142.8727181614122 ns/iter |
1.08 |
Pointer_Walker_Schema_ISO_Language |
4258490.037735689 ns/iter |
3493348.065656465 ns/iter |
1.22 |
Pointer_Maybe_Tracked_Deeply_Nested/0 |
1012331.5102041243 ns/iter |
905981.1769437551 ns/iter |
1.12 |
Pointer_Maybe_Tracked_Deeply_Nested/1 |
1381445.75653927 ns/iter |
1197048.750841746 ns/iter |
1.15 |
Pointer_Position_Tracker_Get_Deeply_Nested |
348.7758741080672 ns/iter |
340.96562621695824 ns/iter |
1.02 |
URITemplateRouter_Create |
22942.679942916126 ns/iter |
22027.845240627765 ns/iter |
1.04 |
URITemplateRouter_Match |
172.53653848668952 ns/iter |
159.42087139530807 ns/iter |
1.08 |
URITemplateRouter_Match_BasePath |
197.60184777565473 ns/iter |
183.7634351235315 ns/iter |
1.08 |
URITemplateRouterView_Restore |
9431.257256027026 ns/iter |
8622.851466438338 ns/iter |
1.09 |
URITemplateRouterView_Match |
129.4154838999019 ns/iter |
120.636179256009 ns/iter |
1.07 |
URITemplateRouterView_Match_BasePath |
148.62549689501415 ns/iter |
139.09904690333494 ns/iter |
1.07 |
URITemplateRouterView_Arguments |
401.1059254051698 ns/iter |
382.2883332153877 ns/iter |
1.05 |
JSONL_Parse_Large |
12238147.21666656 ns/iter |
11216254.709678754 ns/iter |
1.09 |
JSONL_Parse_Large_GZIP |
13014302.089285731 ns/iter |
11949507.172412973 ns/iter |
1.09 |
HTML_Build_Table_100000 |
63536518.909095526 ns/iter |
59323731.09090929 ns/iter |
1.07 |
HTML_Render_Table_100000 |
3525427.306382948 ns/iter |
2273139.651612705 ns/iter |
1.55 |
GZIP_Compress_ISO_Language_Set_3_Locations |
28394193.923077185 ns/iter |
25810379.629627246 ns/iter |
1.10 |
GZIP_Decompress_ISO_Language_Set_3_Locations |
5114871.062991957 ns/iter |
4713486.795774828 ns/iter |
1.09 |
GZIP_Compress_ISO_Language_Set_3_Schema |
1515373.181222697 ns/iter |
1433771.5185185382 ns/iter |
1.06 |
GZIP_Decompress_ISO_Language_Set_3_Schema |
279819.58605218254 ns/iter |
283377.8013910491 ns/iter |
0.99 |
This comment was automatically generated by workflow using github-action-benchmark.
There was a problem hiding this comment.
Benchmark (linux/gcc)
Details
| Benchmark suite | Current: b85b150 | Previous: b1ba863 | Ratio |
|---|---|---|---|
GZIP_Compress_ISO_Language_Set_3_Locations |
38105640.83333803 ns/iter |
38369916.22222286 ns/iter |
0.99 |
GZIP_Decompress_ISO_Language_Set_3_Locations |
4928368.248275892 ns/iter |
5138238.842104947 ns/iter |
0.96 |
GZIP_Compress_ISO_Language_Set_3_Schema |
2074766.8041542477 ns/iter |
2082200.7893173967 ns/iter |
1.00 |
GZIP_Decompress_ISO_Language_Set_3_Schema |
395453.79887015966 ns/iter |
393702.0186125161 ns/iter |
1.00 |
HTML_Build_Table_100000 |
58988609.24999857 ns/iter |
59604984.16666364 ns/iter |
0.99 |
HTML_Render_Table_100000 |
1792271.7295915873 ns/iter |
1950509.6994382173 ns/iter |
0.92 |
JSONL_Parse_Large |
12845318.000001334 ns/iter |
13163691.849056378 ns/iter |
0.98 |
JSONL_Parse_Large_GZIP |
14077683.739997156 ns/iter |
14334960.591836486 ns/iter |
0.98 |
URITemplateRouter_Create |
30624.969507390506 ns/iter |
31458.291646137164 ns/iter |
0.97 |
URITemplateRouter_Match |
183.98951590216643 ns/iter |
176.99238865082282 ns/iter |
1.04 |
URITemplateRouter_Match_BasePath |
210.7890913314266 ns/iter |
199.2576400785381 ns/iter |
1.06 |
URITemplateRouterView_Restore |
7652.588446492434 ns/iter |
7953.036694870355 ns/iter |
0.96 |
URITemplateRouterView_Match |
146.81683589131381 ns/iter |
146.36042544672338 ns/iter |
1.00 |
URITemplateRouterView_Match_BasePath |
164.90257616828643 ns/iter |
164.79391995108935 ns/iter |
1.00 |
URITemplateRouterView_Arguments |
476.46200821994694 ns/iter |
477.8926908491378 ns/iter |
1.00 |
Pointer_Object_Traverse |
24.61854065354625 ns/iter |
25.04465679984552 ns/iter |
0.98 |
Pointer_Object_Try_Traverse |
19.95736967542015 ns/iter |
20.09425503322566 ns/iter |
0.99 |
Pointer_Push_Back_Pointer_To_Weak_Pointer |
141.88559024644394 ns/iter |
143.71266367621158 ns/iter |
0.99 |
Pointer_Walker_Schema_ISO_Language |
3284295.9389671506 ns/iter |
3342714.625592587 ns/iter |
0.98 |
Pointer_Maybe_Tracked_Deeply_Nested/0 |
1596548.0861675902 ns/iter |
1601754.1517241583 ns/iter |
1.00 |
Pointer_Maybe_Tracked_Deeply_Nested/1 |
1779715.1493671008 ns/iter |
1746519.3099999963 ns/iter |
1.02 |
Pointer_Position_Tracker_Get_Deeply_Nested |
593.1574898776636 ns/iter |
394.76236399717453 ns/iter |
1.50 |
JSON_Array_Of_Objects_Unique |
428.1166130349971 ns/iter |
434.4925861667746 ns/iter |
0.99 |
JSON_Parse_1 |
7970.424813894743 ns/iter |
8113.263772530838 ns/iter |
0.98 |
JSON_Parse_Real |
12216.64503810148 ns/iter |
12330.019508280024 ns/iter |
0.99 |
JSON_Parse_Decimal |
18291.937330412187 ns/iter |
18183.80537383209 ns/iter |
1.01 |
JSON_Parse_Schema_ISO_Language |
4668699.493333103 ns/iter |
4682061.644295218 ns/iter |
1.00 |
JSON_Fast_Hash_Helm_Chart_Lock |
71.76802894146128 ns/iter |
63.967678157512424 ns/iter |
1.12 |
JSON_Equality_Helm_Chart_Lock |
160.32865007318384 ns/iter |
175.27584452388567 ns/iter |
0.91 |
JSON_Divisible_By_Decimal |
237.04724116148145 ns/iter |
237.3891906775895 ns/iter |
1.00 |
JSON_String_Equal/10 |
5.9807041849931295 ns/iter |
5.965985479302046 ns/iter |
1.00 |
JSON_String_Equal/100 |
6.587035553303554 ns/iter |
6.592555731822184 ns/iter |
1.00 |
JSON_String_Equal_Small_By_Perfect_Hash/10 |
0.7404197496141851 ns/iter |
0.740200149447448 ns/iter |
1.00 |
JSON_String_Equal_Small_By_Runtime_Perfect_Hash/10 |
25.20130849427292 ns/iter |
25.19734133843414 ns/iter |
1.00 |
JSON_String_Fast_Hash/10 |
0.934007394824243 ns/iter |
0.938105624530457 ns/iter |
1.00 |
JSON_String_Fast_Hash/100 |
0.9395006343719549 ns/iter |
0.9343272107956307 ns/iter |
1.01 |
JSON_String_Key_Hash/10 |
1.246517986362556 ns/iter |
1.2477236263496858 ns/iter |
1.00 |
JSON_String_Key_Hash/100 |
12.45257569539413 ns/iter |
12.443961133481286 ns/iter |
1.00 |
JSON_Object_Defines_Miss_Same_Length |
3.1225094013361696 ns/iter |
3.119864004234053 ns/iter |
1.00 |
JSON_Object_Defines_Miss_Too_Small |
3.1160184361516676 ns/iter |
3.1217509022633325 ns/iter |
1.00 |
JSON_Object_Defines_Miss_Too_Large |
3.4249435825007333 ns/iter |
3.4288315722051306 ns/iter |
1.00 |
Regex_Lower_S_Or_Upper_S_Asterisk |
0.9410661131684168 ns/iter |
0.9345525748409307 ns/iter |
1.01 |
Regex_Caret_Lower_S_Or_Upper_S_Asterisk_Dollar |
0.622924914279224 ns/iter |
0.6226628446912967 ns/iter |
1.00 |
Regex_Period_Asterisk |
0.6231659328153151 ns/iter |
0.623225791899766 ns/iter |
1.00 |
Regex_Group_Period_Asterisk_Group |
0.934629229475339 ns/iter |
0.9341302170299072 ns/iter |
1.00 |
Regex_Period_Plus |
0.9349279664644622 ns/iter |
0.9343502903085358 ns/iter |
1.00 |
Regex_Period |
0.6231806519285832 ns/iter |
0.6232949162228205 ns/iter |
1.00 |
Regex_Caret_Period_Plus_Dollar |
0.6232304687812095 ns/iter |
0.623351372638488 ns/iter |
1.00 |
Regex_Caret_Group_Period_Plus_Group_Dollar |
0.9332486735068607 ns/iter |
0.9391529178490905 ns/iter |
0.99 |
Regex_Caret_Period_Asterisk_Dollar |
0.9339427245934739 ns/iter |
0.9350717432516303 ns/iter |
1.00 |
Regex_Caret_Group_Period_Asterisk_Group_Dollar |
0.6228701498697276 ns/iter |
0.6238085028892697 ns/iter |
1.00 |
Regex_Caret_X_Hyphen |
4.050568811773622 ns/iter |
4.055875695863165 ns/iter |
1.00 |
Regex_Period_Md_Dollar |
30.40927886820588 ns/iter |
28.154387709699837 ns/iter |
1.08 |
Regex_Caret_Slash_Period_Asterisk |
4.367629594645902 ns/iter |
4.3740875470205385 ns/iter |
1.00 |
Regex_Caret_Period_Range_Dollar |
0.7780327343936073 ns/iter |
0.7795433827095314 ns/iter |
1.00 |
Regex_Nested_Backtrack |
37.23049584813926 ns/iter |
36.41859911166033 ns/iter |
1.02 |
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: b85b150 | Previous: b1ba863 | Ratio |
|---|---|---|---|
Regex_Lower_S_Or_Upper_S_Asterisk |
8.991321388429492 ns/iter |
7.54993191964307 ns/iter |
1.19 |
Regex_Caret_Lower_S_Or_Upper_S_Asterisk_Dollar |
8.953838169643648 ns/iter |
7.497877232144186 ns/iter |
1.19 |
Regex_Period_Asterisk |
8.873010228247772 ns/iter |
7.512319196428965 ns/iter |
1.18 |
Regex_Group_Period_Asterisk_Group |
9.032615584677712 ns/iter |
7.512736607141944 ns/iter |
1.20 |
Regex_Period_Plus |
11.28808437499984 ns/iter |
9.668969153264811 ns/iter |
1.17 |
Regex_Period |
11.288370312499296 ns/iter |
9.674029687502639 ns/iter |
1.17 |
Regex_Caret_Period_Plus_Dollar |
11.301955357144575 ns/iter |
9.676529421086626 ns/iter |
1.17 |
Regex_Caret_Group_Period_Plus_Group_Dollar |
11.296019145999413 ns/iter |
9.683055760343628 ns/iter |
1.17 |
Regex_Caret_Period_Asterisk_Dollar |
8.849874067636565 ns/iter |
7.4983638392848 ns/iter |
1.18 |
Regex_Caret_Group_Period_Asterisk_Group_Dollar |
8.848178531927735 ns/iter |
7.501571428572313 ns/iter |
1.18 |
Regex_Caret_X_Hyphen |
13.738805295810351 ns/iter |
11.582073437498508 ns/iter |
1.19 |
Regex_Period_Md_Dollar |
40.97914028096789 ns/iter |
37.906852894520114 ns/iter |
1.08 |
Regex_Caret_Slash_Period_Asterisk |
13.07652382555229 ns/iter |
11.394284375001007 ns/iter |
1.15 |
Regex_Caret_Period_Range_Dollar |
11.302134375000605 ns/iter |
9.675748617520501 ns/iter |
1.17 |
Regex_Nested_Backtrack |
50.0221700000111 ns/iter |
46.18530237021245 ns/iter |
1.08 |
JSON_Array_Of_Objects_Unique |
514.186699999982 ns/iter |
491.91577962600775 ns/iter |
1.05 |
JSON_Parse_1 |
8077.182691147752 ns/iter |
8263.19866071401 ns/iter |
0.98 |
JSON_Parse_Real |
13826.947647558174 ns/iter |
15411.418699024445 ns/iter |
0.90 |
JSON_Parse_Decimal |
14795.216517856805 ns/iter |
15709.325892859943 ns/iter |
0.94 |
JSON_Parse_Schema_ISO_Language |
6363900.892856529 ns/iter |
5778451.785713757 ns/iter |
1.10 |
JSON_Fast_Hash_Helm_Chart_Lock |
73.30626116071366 ns/iter |
64.56969866070393 ns/iter |
1.14 |
JSON_Equality_Helm_Chart_Lock |
278.6549811899729 ns/iter |
258.1719914362619 ns/iter |
1.08 |
JSON_Divisible_By_Decimal |
255.173035714295 ns/iter |
249.6851785714885 ns/iter |
1.02 |
JSON_String_Equal/10 |
12.401469587493008 ns/iter |
12.884008928568035 ns/iter |
0.96 |
JSON_String_Equal/100 |
13.437771368580956 ns/iter |
13.211425000000483 ns/iter |
1.02 |
JSON_String_Equal_Small_By_Perfect_Hash/10 |
1.7685431708271036 ns/iter |
1.8832090195389568 ns/iter |
0.94 |
JSON_String_Equal_Small_By_Runtime_Perfect_Hash/10 |
11.360409374997715 ns/iter |
12.583719642853858 ns/iter |
0.90 |
JSON_String_Fast_Hash/10 |
4.240343971321158 ns/iter |
3.7570408861489404 ns/iter |
1.13 |
JSON_String_Fast_Hash/100 |
4.23937667221449 ns/iter |
3.779319436058852 ns/iter |
1.12 |
JSON_String_Key_Hash/10 |
4.2401635790003915 ns/iter |
3.760472656249649 ns/iter |
1.13 |
JSON_String_Key_Hash/100 |
16.928223993783398 ns/iter |
16.569078125000047 ns/iter |
1.02 |
JSON_Object_Defines_Miss_Same_Length |
3.9216212123600305 ns/iter |
3.768825334821305 ns/iter |
1.04 |
JSON_Object_Defines_Miss_Too_Small |
3.9887215249788843 ns/iter |
3.766561600417003 ns/iter |
1.06 |
JSON_Object_Defines_Miss_Too_Large |
4.972001785714854 ns/iter |
5.151012000001174 ns/iter |
0.97 |
Pointer_Object_Traverse |
42.122120394315345 ns/iter |
39.56230276199086 ns/iter |
1.06 |
Pointer_Object_Try_Traverse |
53.42972321429329 ns/iter |
52.229719999991175 ns/iter |
1.02 |
Pointer_Push_Back_Pointer_To_Weak_Pointer |
150.86430803573793 ns/iter |
180.38771074024152 ns/iter |
0.84 |
Pointer_Walker_Schema_ISO_Language |
13306651.785715725 ns/iter |
12188001.562499551 ns/iter |
1.09 |
Pointer_Maybe_Tracked_Deeply_Nested/0 |
2261808.333333771 ns/iter |
1928018.394648102 ns/iter |
1.17 |
Pointer_Maybe_Tracked_Deeply_Nested/1 |
3193461.1607147595 ns/iter |
3187552.67857134 ns/iter |
1.00 |
Pointer_Position_Tracker_Get_Deeply_Nested |
640.5419642858997 ns/iter |
614.8709936924455 ns/iter |
1.04 |
URITemplateRouter_Create |
37105.91953715655 ns/iter |
39964.29110324364 ns/iter |
0.93 |
URITemplateRouter_Match |
209.6607986758572 ns/iter |
215.5570937500073 ns/iter |
0.97 |
URITemplateRouter_Match_BasePath |
249.7796428571064 ns/iter |
245.4581980515622 ns/iter |
1.02 |
URITemplateRouterView_Restore |
23166.549999999123 ns/iter |
32616.00892856669 ns/iter |
0.71 |
URITemplateRouterView_Match |
156.33428571426577 ns/iter |
156.90537946428304 ns/iter |
1.00 |
URITemplateRouterView_Match_BasePath |
186.33055935253293 ns/iter |
184.85101014629137 ns/iter |
1.01 |
URITemplateRouterView_Arguments |
443.00037499994005 ns/iter |
457.65920929888637 ns/iter |
0.97 |
JSONL_Parse_Large |
26274415.384617753 ns/iter |
31341222.727271333 ns/iter |
0.84 |
JSONL_Parse_Large_GZIP |
26128926.923075385 ns/iter |
30588191.99999561 ns/iter |
0.85 |
HTML_Build_Table_100000 |
91536299.99999186 ns/iter |
84248177.77778217 ns/iter |
1.09 |
HTML_Render_Table_100000 |
7820448.888888777 ns/iter |
7565762.2222226765 ns/iter |
1.03 |
GZIP_Compress_ISO_Language_Set_3_Locations |
43567041.17646907 ns/iter |
40179758.82352938 ns/iter |
1.08 |
GZIP_Decompress_ISO_Language_Set_3_Locations |
11374526.562502041 ns/iter |
10351670.312502392 ns/iter |
1.10 |
GZIP_Compress_ISO_Language_Set_3_Schema |
2540219.999999798 ns/iter |
2291583.9464885388 ns/iter |
1.11 |
GZIP_Decompress_ISO_Language_Set_3_Schema |
687771.9866071885 ns/iter |
651139.6428570444 ns/iter |
1.06 |
This comment was automatically generated by workflow using github-action-benchmark.
Signed-off-by: Juan Cruz Viotti jv@jviotti.com