Skip to content

Implement idna_is_valid_a_label#2426

Merged
jviotti merged 2 commits into
mainfrom
a-label
May 26, 2026
Merged

Implement idna_is_valid_a_label#2426
jviotti merged 2 commits into
mainfrom
a-label

Conversation

@jviotti
Copy link
Copy Markdown
Member

@jviotti jviotti commented May 26, 2026

Signed-off-by: Juan Cruz Viotti jv@jviotti.com

Signed-off-by: Juan Cruz Viotti <jv@jviotti.com>
@augmentcode
Copy link
Copy Markdown

augmentcode Bot commented May 26, 2026

🤖 Augment PR Summary

Summary: This PR introduces A-label validation for the IDNA component.

Changes:

  • Added idna_is_valid_a_label(std::string_view) to validate RFC 5891 A-labels by checking the xn-- prefix, enforcing ASCII-only input, decoding the Punycode body, and re-encoding to ensure canonical round-tripping.
  • Integrated the Punycode component as an IDNA dependency (CMake target linkage and package config includes).
  • Updated IDNA implementation includes to use the Punycode API.
  • Added a new GoogleTest suite covering valid labels (German/Greek/French examples) and key invalid cases (missing prefix, empty body, malformed Punycode, non-ASCII bytes, non-canonical casing).

🤖 Was this summary useful? React with 👍 or 👎

Copy link
Copy Markdown

@augmentcode augmentcode Bot left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Review completed. 1 suggestion posted.

Fix All in Augment

Comment augment review to trigger a new review at any time.

Comment thread src/core/idna/CMakeLists.txt
Signed-off-by: Juan Cruz Viotti <jv@jviotti.com>
@jviotti jviotti merged commit 10e9c5a into main May 26, 2026
13 checks passed
@jviotti jviotti deleted the a-label branch May 26, 2026 20:59
Copy link
Copy Markdown

@github-actions github-actions Bot left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Benchmark (linux/gcc)

Details
Benchmark suite Current: 306747e Previous: 9f26a94 Ratio
GZIP_Compress_ISO_Language_Set_3_Locations 41524015.999999285 ns/iter 41224220.062499486 ns/iter 1.01
GZIP_Decompress_ISO_Language_Set_3_Locations 4544313.77564081 ns/iter 4628430.913333356 ns/iter 0.98
GZIP_Compress_ISO_Language_Set_3_Schema 2334490.1233334285 ns/iter 2336682.703333395 ns/iter 1.00
GZIP_Decompress_ISO_Language_Set_3_Schema 292822.80526315846 ns/iter 295580.194036909 ns/iter 0.99
HTML_Build_Table_100000 63781961.18181863 ns/iter 65866909.09090913 ns/iter 0.97
HTML_Render_Table_100000 2017065.7971428744 ns/iter 2210418.843260292 ns/iter 0.91
JSONL_Parse_Large 12462468.785714569 ns/iter 12163672.534483269 ns/iter 1.02
JSONL_Parse_Large_GZIP 13752121.78431398 ns/iter 13384024.884615542 ns/iter 1.03
URITemplateRouter_Create 29829.27824008867 ns/iter 29916.033648923476 ns/iter 1.00
URITemplateRouter_Match 176.3893131822335 ns/iter 174.9432927840707 ns/iter 1.01
URITemplateRouter_Match_BasePath 203.47959261908727 ns/iter 204.467807301478 ns/iter 1.00
URITemplateRouterView_Restore 8699.978823471289 ns/iter 8644.254519143526 ns/iter 1.01
URITemplateRouterView_Match 131.3807804193736 ns/iter 131.59848355610015 ns/iter 1.00
URITemplateRouterView_Match_BasePath 156.09301189797074 ns/iter 159.11667776395868 ns/iter 0.98
URITemplateRouterView_Arguments 461.83953725717845 ns/iter 479.20191325144344 ns/iter 0.96
Pointer_Object_Traverse 27.48754608187428 ns/iter 27.502113539033147 ns/iter 1.00
Pointer_Object_Try_Traverse 22.14273811803816 ns/iter 22.177841644316864 ns/iter 1.00
Pointer_Push_Back_Pointer_To_Weak_Pointer 150.7509997992991 ns/iter 146.21467100853502 ns/iter 1.03
Pointer_Walker_Schema_ISO_Language 3614717.0512820664 ns/iter 3458602.028845967 ns/iter 1.05
Pointer_Maybe_Tracked_Deeply_Nested/0 1730985.6419213368 ns/iter 1547224.229074844 ns/iter 1.12
Pointer_Maybe_Tracked_Deeply_Nested/1 1712332.1348039964 ns/iter 1724637.6287128741 ns/iter 0.99
Pointer_Position_Tracker_Get_Deeply_Nested 491.75556653278096 ns/iter 420.3456807459021 ns/iter 1.17
JSON_Array_Of_Objects_Unique 438.91641525060385 ns/iter 442.06385902172013 ns/iter 0.99
JSON_Parse_1 8114.407645292014 ns/iter 7702.326329222739 ns/iter 1.05
JSON_Parse_Real 14133.423195034818 ns/iter 11766.277929661203 ns/iter 1.20
JSON_Parse_Decimal 16127.938772197487 ns/iter 16429.607819209286 ns/iter 0.98
JSON_Parse_Schema_ISO_Language 4551485.448052086 ns/iter 4615239.124999966 ns/iter 0.99
JSON_Fast_Hash_Helm_Chart_Lock 63.33621124652792 ns/iter 64.73728841674381 ns/iter 0.98
JSON_Equality_Helm_Chart_Lock 172.26146181280382 ns/iter 169.27553505937183 ns/iter 1.02
JSON_Divisible_By_Decimal 230.77492237376808 ns/iter 228.63218784075758 ns/iter 1.01
JSON_String_Equal/10 5.77015420582105 ns/iter 6.4692064633522115 ns/iter 0.89
JSON_String_Equal/100 6.661850077179891 ns/iter 6.73049410614938 ns/iter 0.99
JSON_String_Equal_Small_By_Perfect_Hash/10 0.7113391816557603 ns/iter 0.7140789057780046 ns/iter 1.00
JSON_String_Equal_Small_By_Runtime_Perfect_Hash/10 21.982936556312378 ns/iter 21.941695940667234 ns/iter 1.00
JSON_String_Fast_Hash/10 1.7597609878022547 ns/iter 1.761699848264344 ns/iter 1.00
JSON_String_Fast_Hash/100 1.76168353480436 ns/iter 1.759643346895529 ns/iter 1.00
JSON_String_Key_Hash/10 1.0850885563598633 ns/iter 1.0834303411841484 ns/iter 1.00
JSON_String_Key_Hash/100 15.0058680543554 ns/iter 14.756784909120272 ns/iter 1.02
JSON_Object_Defines_Miss_Same_Length 3.8729925214788974 ns/iter 3.8678338562300976 ns/iter 1.00
JSON_Object_Defines_Miss_Too_Small 3.519668776253741 ns/iter 3.51860304913857 ns/iter 1.00
JSON_Object_Defines_Miss_Too_Large 4.226622597871852 ns/iter 4.2236297394306535 ns/iter 1.00
Regex_Lower_S_Or_Upper_S_Asterisk 0.7036502439629821 ns/iter 0.7034538403792747 ns/iter 1.00
Regex_Caret_Lower_S_Or_Upper_S_Asterisk_Dollar 0.7037560995646354 ns/iter 0.7035841392005706 ns/iter 1.00
Regex_Period_Asterisk 1.0559921846044322 ns/iter 1.056329315496156 ns/iter 1.00
Regex_Group_Period_Asterisk_Group 1.056309898910331 ns/iter 1.0555307593987096 ns/iter 1.00
Regex_Period_Plus 0.7038100168099694 ns/iter 0.7056897234910927 ns/iter 1.00
Regex_Period 0.7042045385495661 ns/iter 0.7034107022228617 ns/iter 1.00
Regex_Caret_Period_Plus_Dollar 1.0555804893976541 ns/iter 1.0786446522634339 ns/iter 0.98
Regex_Caret_Group_Period_Plus_Group_Dollar 1.0564611706167475 ns/iter 1.0556984049751037 ns/iter 1.00
Regex_Caret_Period_Asterisk_Dollar 0.7039725135814542 ns/iter 0.7063057614012133 ns/iter 1.00
Regex_Caret_Group_Period_Asterisk_Group_Dollar 0.7039636429524534 ns/iter 0.7039545451572989 ns/iter 1.00
Regex_Caret_X_Hyphen 3.5217379486788563 ns/iter 3.8817724729374103 ns/iter 0.91
Regex_Period_Md_Dollar 36.871723085990176 ns/iter 33.406829428398 ns/iter 1.10
Regex_Caret_Slash_Period_Asterisk 4.5726626828997485 ns/iter 4.571319068697797 ns/iter 1.00
Regex_Caret_Period_Range_Dollar 0.8446037904147458 ns/iter 0.8425134614153796 ns/iter 1.00
Regex_Nested_Backtrack 42.07424122621506 ns/iter 39.756077892999 ns/iter 1.06

This comment was automatically generated by workflow using github-action-benchmark.

Copy link
Copy Markdown

@github-actions github-actions Bot left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Benchmark (macos/llvm)

Details
Benchmark suite Current: 306747e Previous: 9f26a94 Ratio
Regex_Lower_S_Or_Upper_S_Asterisk 2.038966153308984 ns/iter 1.8787981789625539 ns/iter 1.09
Regex_Caret_Lower_S_Or_Upper_S_Asterisk_Dollar 1.6871211985946655 ns/iter 1.5672121796685219 ns/iter 1.08
Regex_Period_Asterisk 1.6821578773397814 ns/iter 1.5681364704440108 ns/iter 1.07
Regex_Group_Period_Asterisk_Group 1.6835190533595523 ns/iter 1.5738427631284218 ns/iter 1.07
Regex_Period_Plus 2.0444913963319067 ns/iter 1.8805151992528988 ns/iter 1.09
Regex_Period 2.019658748037988 ns/iter 1.8797895299863991 ns/iter 1.07
Regex_Caret_Period_Plus_Dollar 2.0213442955470824 ns/iter 1.879791296516221 ns/iter 1.08
Regex_Caret_Group_Period_Plus_Group_Dollar 2.019427754950956 ns/iter 1.9124543915011543 ns/iter 1.06
Regex_Caret_Period_Asterisk_Dollar 1.6817793996882189 ns/iter 1.5798280101877666 ns/iter 1.06
Regex_Caret_Group_Period_Asterisk_Group_Dollar 1.6840889208832206 ns/iter 1.5685743374363512 ns/iter 1.07
Regex_Caret_X_Hyphen 6.065401003069792 ns/iter 5.82163850844251 ns/iter 1.04
Regex_Period_Md_Dollar 16.18509950034385 ns/iter 15.351368871830607 ns/iter 1.05
Regex_Caret_Slash_Period_Asterisk 8.006461264071733 ns/iter 7.44277566183776 ns/iter 1.08
Regex_Caret_Period_Range_Dollar 1.6967388824463177 ns/iter 1.6155565540081889 ns/iter 1.05
Regex_Nested_Backtrack 24.347323272197002 ns/iter 23.03731998040716 ns/iter 1.06
JSON_Array_Of_Objects_Unique 424.7350345546043 ns/iter 395.64711764488715 ns/iter 1.07
JSON_Parse_1 3999.46836563404 ns/iter 3628.1297424491854 ns/iter 1.10
JSON_Parse_Real 6357.502423220417 ns/iter 5954.143464398479 ns/iter 1.07
JSON_Parse_Decimal 8035.357364198147 ns/iter 7452.899649009941 ns/iter 1.08
JSON_Parse_Schema_ISO_Language 2911545.081967241 ns/iter 2712902.2945737867 ns/iter 1.07
JSON_Fast_Hash_Helm_Chart_Lock 58.14965175930075 ns/iter 54.36847333408998 ns/iter 1.07
JSON_Equality_Helm_Chart_Lock 133.24189330593367 ns/iter 123.9026278953535 ns/iter 1.08
JSON_Divisible_By_Decimal 172.33169166689174 ns/iter 170.78177055722475 ns/iter 1.01
JSON_String_Equal/10 6.73559638984397 ns/iter 6.286758621614548 ns/iter 1.07
JSON_String_Equal/100 6.393374268289299 ns/iter 5.959836610665946 ns/iter 1.07
JSON_String_Equal_Small_By_Perfect_Hash/10 0.762931898463107 ns/iter 0.6971030574582293 ns/iter 1.09
JSON_String_Equal_Small_By_Runtime_Perfect_Hash/10 3.2910378269891587 ns/iter 3.0303111788143062 ns/iter 1.09
JSON_String_Fast_Hash/10 2.3670750598701056 ns/iter 2.231644516202362 ns/iter 1.06
JSON_String_Fast_Hash/100 2.040552496843019 ns/iter 1.8803054623474247 ns/iter 1.09
JSON_String_Key_Hash/10 1.348017560595238 ns/iter 1.2658893874033088 ns/iter 1.06
JSON_String_Key_Hash/100 2.144540416851413 ns/iter 1.9599646281455338 ns/iter 1.09
JSON_Object_Defines_Miss_Same_Length 2.3539269843939876 ns/iter 2.1958662203544956 ns/iter 1.07
JSON_Object_Defines_Miss_Too_Small 2.360996023834474 ns/iter 2.19473994413859 ns/iter 1.08
JSON_Object_Defines_Miss_Too_Large 2.3564705460929747 ns/iter 2.1944326106682266 ns/iter 1.07
Pointer_Object_Traverse 13.856946769520833 ns/iter 13.495983016002244 ns/iter 1.03
Pointer_Object_Try_Traverse 19.06583288612723 ns/iter 17.79890016021622 ns/iter 1.07
Pointer_Push_Back_Pointer_To_Weak_Pointer 153.85140215339797 ns/iter 143.2875652190444 ns/iter 1.07
Pointer_Walker_Schema_ISO_Language 4194489.520466704 ns/iter 3521845.1161615187 ns/iter 1.19
Pointer_Maybe_Tracked_Deeply_Nested/0 963586.6508380162 ns/iter 918092.4276649749 ns/iter 1.05
Pointer_Maybe_Tracked_Deeply_Nested/1 1379423.2375248014 ns/iter 1153999.9280820235 ns/iter 1.20
Pointer_Position_Tracker_Get_Deeply_Nested 344.3296492132638 ns/iter 325.9998177101471 ns/iter 1.06
URITemplateRouter_Create 22752.935718046614 ns/iter 21126.76390058836 ns/iter 1.08
URITemplateRouter_Match 162.82903390681682 ns/iter 151.71844059675357 ns/iter 1.07
URITemplateRouter_Match_BasePath 192.56633739609396 ns/iter 179.06000162384393 ns/iter 1.08
URITemplateRouterView_Restore 9328.53062175291 ns/iter 8625.628951829029 ns/iter 1.08
URITemplateRouterView_Match 129.04114433695523 ns/iter 120.86997737411144 ns/iter 1.07
URITemplateRouterView_Match_BasePath 146.84668267550805 ns/iter 141.54065961125892 ns/iter 1.04
URITemplateRouterView_Arguments 403.2192665059903 ns/iter 374.58135436252775 ns/iter 1.08
JSONL_Parse_Large 12193596.258620001 ns/iter 11117535.047618268 ns/iter 1.10
JSONL_Parse_Large_GZIP 12904222.490567677 ns/iter 11861873.593219016 ns/iter 1.09
HTML_Build_Table_100000 63613882.545455046 ns/iter 59337357.666663595 ns/iter 1.07
HTML_Render_Table_100000 3543422.8190481355 ns/iter 2284058.783439473 ns/iter 1.55
GZIP_Compress_ISO_Language_Set_3_Locations 28502181.640005805 ns/iter 25777902.777783178 ns/iter 1.11
GZIP_Decompress_ISO_Language_Set_3_Locations 5087598.368419963 ns/iter 4486211.5384620875 ns/iter 1.13
GZIP_Compress_ISO_Language_Set_3_Schema 1527440.6593407248 ns/iter 1499020.919087226 ns/iter 1.02
GZIP_Decompress_ISO_Language_Set_3_Schema 283665.26813094865 ns/iter 273434.3976424923 ns/iter 1.04

This comment was automatically generated by workflow using github-action-benchmark.

Copy link
Copy Markdown

@github-actions github-actions Bot left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Benchmark (linux/llvm)

Details
Benchmark suite Current: 306747e Previous: 9f26a94 Ratio
Regex_Lower_S_Or_Upper_S_Asterisk 2.1962639440160423 ns/iter 2.1900591334864767 ns/iter 1.00
Regex_Caret_Lower_S_Or_Upper_S_Asterisk_Dollar 2.1794783453478774 ns/iter 2.179695325816598 ns/iter 1.00
Regex_Period_Asterisk 2.1861159264448675 ns/iter 2.184678578124137 ns/iter 1.00
Regex_Group_Period_Asterisk_Group 2.179110981639699 ns/iter 2.1780327187607798 ns/iter 1.00
Regex_Period_Plus 2.4897023473398723 ns/iter 2.4900550846108813 ns/iter 1.00
Regex_Period 2.799914052337295 ns/iter 2.803349330817122 ns/iter 1.00
Regex_Caret_Period_Plus_Dollar 2.488882124138303 ns/iter 2.489782988176479 ns/iter 1.00
Regex_Caret_Group_Period_Plus_Group_Dollar 2.7999408891564075 ns/iter 2.8006964222869115 ns/iter 1.00
Regex_Caret_Period_Asterisk_Dollar 3.1100895900199967 ns/iter 3.115875299887286 ns/iter 1.00
Regex_Caret_Group_Period_Asterisk_Group_Dollar 3.4216701867716672 ns/iter 3.422350840355045 ns/iter 1.00
Regex_Caret_X_Hyphen 6.537948475814415 ns/iter 6.540917501847211 ns/iter 1.00
Regex_Period_Md_Dollar 27.66095937347886 ns/iter 27.672380870133384 ns/iter 1.00
Regex_Caret_Slash_Period_Asterisk 6.846569991065224 ns/iter 6.848679016678012 ns/iter 1.00
Regex_Caret_Period_Range_Dollar 4.04685439379 ns/iter 4.044791094590795 ns/iter 1.00
Regex_Nested_Backtrack 37.013372229980334 ns/iter 37.06008768534704 ns/iter 1.00
JSON_Array_Of_Objects_Unique 414.55144524681975 ns/iter 409.29396826397385 ns/iter 1.01
JSON_Parse_1 6174.361896151591 ns/iter 5885.850767874064 ns/iter 1.05
JSON_Parse_Real 10909.726807820716 ns/iter 10715.375291517317 ns/iter 1.02
JSON_Parse_Decimal 11098.685688133553 ns/iter 10935.655964515867 ns/iter 1.01
JSON_Parse_Schema_ISO_Language 3606125.0876286975 ns/iter 3573194.6071430976 ns/iter 1.01
JSON_Fast_Hash_Helm_Chart_Lock 61.018189414679114 ns/iter 61.014772767317496 ns/iter 1.00
JSON_Equality_Helm_Chart_Lock 159.8481052546905 ns/iter 154.7263242796919 ns/iter 1.03
JSON_Divisible_By_Decimal 258.4617043615396 ns/iter 248.75582525385494 ns/iter 1.04
JSON_String_Equal/10 6.263488846510498 ns/iter 6.231380351142091 ns/iter 1.01
JSON_String_Equal/100 6.859166878690802 ns/iter 6.859349574613137 ns/iter 1.00
JSON_String_Equal_Small_By_Perfect_Hash/10 0.9363804245374007 ns/iter 0.9357595928679269 ns/iter 1.00
JSON_String_Equal_Small_By_Runtime_Perfect_Hash/10 14.630358306363341 ns/iter 14.62148643409755 ns/iter 1.00
JSON_String_Fast_Hash/10 2.8023422636837854 ns/iter 2.805786553477906 ns/iter 1.00
JSON_String_Fast_Hash/100 2.830568737926819 ns/iter 2.8022516734322096 ns/iter 1.01
JSON_String_Key_Hash/10 2.274325682082706 ns/iter 2.2805725971192823 ns/iter 1.00
JSON_String_Key_Hash/100 9.033767949196113 ns/iter 9.037471837236653 ns/iter 1.00
JSON_Object_Defines_Miss_Same_Length 3.7391396144930606 ns/iter 3.7418344083857575 ns/iter 1.00
JSON_Object_Defines_Miss_Too_Small 3.7539025926580933 ns/iter 3.7485377412281276 ns/iter 1.00
JSON_Object_Defines_Miss_Too_Large 3.8014335681527553 ns/iter 3.7426700484544972 ns/iter 1.02
Pointer_Object_Traverse 24.24076923499032 ns/iter 24.189473969080513 ns/iter 1.00
Pointer_Object_Try_Traverse 26.117375462185006 ns/iter 26.309401014503738 ns/iter 0.99
Pointer_Push_Back_Pointer_To_Weak_Pointer 191.63582488425894 ns/iter 184.0586667662121 ns/iter 1.04
Pointer_Walker_Schema_ISO_Language 3977717.622222422 ns/iter 3112395.9617021447 ns/iter 1.28
Pointer_Maybe_Tracked_Deeply_Nested/0 1427793.603734546 ns/iter 1481184.709090981 ns/iter 0.96
Pointer_Maybe_Tracked_Deeply_Nested/1 1943042.4250000694 ns/iter 1843361.4641910763 ns/iter 1.05
Pointer_Position_Tracker_Get_Deeply_Nested 649.4904123856812 ns/iter 649.754130592556 ns/iter 1.00
URITemplateRouter_Create 34146.28927510848 ns/iter 31975.33691837954 ns/iter 1.07
URITemplateRouter_Match 174.5425907040704 ns/iter 168.70531699657454 ns/iter 1.03
URITemplateRouter_Match_BasePath 201.91591651205667 ns/iter 197.69117995454266 ns/iter 1.02
URITemplateRouterView_Restore 7708.647648395585 ns/iter 7837.093776342399 ns/iter 0.98
URITemplateRouterView_Match 146.53411904867525 ns/iter 144.1669556850416 ns/iter 1.02
URITemplateRouterView_Match_BasePath 165.1394138983678 ns/iter 163.02538184424455 ns/iter 1.01
URITemplateRouterView_Arguments 454.9045221069085 ns/iter 457.7742152502716 ns/iter 0.99
JSONL_Parse_Large 11014027.634921206 ns/iter 11130685.166667338 ns/iter 0.99
JSONL_Parse_Large_GZIP 12140818.741380405 ns/iter 12353386.421052579 ns/iter 0.98
HTML_Build_Table_100000 63863935.09091125 ns/iter 67223595.09091224 ns/iter 0.95
HTML_Render_Table_100000 5414952.67441846 ns/iter 5761560.787401165 ns/iter 0.94
GZIP_Compress_ISO_Language_Set_3_Locations 33929193.333332956 ns/iter 34191018.57142929 ns/iter 0.99
GZIP_Decompress_ISO_Language_Set_3_Locations 5140000.858209227 ns/iter 4845097.654411159 ns/iter 1.06
GZIP_Compress_ISO_Language_Set_3_Schema 1897519.835135021 ns/iter 1886361.9891891251 ns/iter 1.01
GZIP_Decompress_ISO_Language_Set_3_Schema 382204.45000003994 ns/iter 378765.68075882073 ns/iter 1.01

This comment was automatically generated by workflow using github-action-benchmark.

Copy link
Copy Markdown

@github-actions github-actions Bot left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Benchmark (windows/msvc)

Details
Benchmark suite Current: 306747e Previous: 9f26a94 Ratio
Regex_Lower_S_Or_Upper_S_Asterisk 9.116370495016598 ns/iter 7.3895279017856454 ns/iter 1.23
Regex_Caret_Lower_S_Or_Upper_S_Asterisk_Dollar 9.176077191178155 ns/iter 7.287609375000566 ns/iter 1.26
Regex_Period_Asterisk 9.131513798518577 ns/iter 7.343726562499344 ns/iter 1.24
Regex_Group_Period_Asterisk_Group 9.032637013246251 ns/iter 7.2921674107145105 ns/iter 1.24
Regex_Period_Plus 11.390653124999872 ns/iter 8.451475408699206 ns/iter 1.35
Regex_Period 11.328556249999622 ns/iter 8.498691964286463 ns/iter 1.33
Regex_Caret_Period_Plus_Dollar 11.421608928571914 ns/iter 8.442080319454032 ns/iter 1.35
Regex_Caret_Group_Period_Plus_Group_Dollar 11.348126562499061 ns/iter 8.443970982143462 ns/iter 1.34
Regex_Caret_Period_Asterisk_Dollar 8.946956210058202 ns/iter 7.300562499999837 ns/iter 1.23
Regex_Caret_Group_Period_Asterisk_Group_Dollar 9.026041031133506 ns/iter 7.279620535715229 ns/iter 1.24
Regex_Caret_X_Hyphen 13.991835875036486 ns/iter 9.946387499999432 ns/iter 1.41
Regex_Period_Md_Dollar 47.48636875000045 ns/iter 34.91113648298879 ns/iter 1.36
Regex_Caret_Slash_Period_Asterisk 13.442182975704856 ns/iter 9.697745045992704 ns/iter 1.39
Regex_Caret_Period_Range_Dollar 11.547021428571368 ns/iter 8.021569196429315 ns/iter 1.44
Regex_Nested_Backtrack 55.52317636323987 ns/iter 42.45256904692438 ns/iter 1.31
JSON_Array_Of_Objects_Unique 576.069464285719 ns/iter 403.6152185886012 ns/iter 1.43
JSON_Parse_1 8480.121070887502 ns/iter 8576.753571428444 ns/iter 0.99
JSON_Parse_Real 15625.566964287327 ns/iter 14218.556390375348 ns/iter 1.10
JSON_Parse_Decimal 16588.841517855002 ns/iter 15440.841517855932 ns/iter 1.07
JSON_Parse_Schema_ISO_Language 6967000.000000008 ns/iter 7449072.222222083 ns/iter 0.94
JSON_Fast_Hash_Helm_Chart_Lock 77.14854910713902 ns/iter 52.41501000000426 ns/iter 1.47
JSON_Equality_Helm_Chart_Lock 300.4869196428521 ns/iter 241.57971428568968 ns/iter 1.24
JSON_Divisible_By_Decimal 274.59475109796915 ns/iter 275.39921541959353 ns/iter 1.00
JSON_String_Equal/10 12.86717678571441 ns/iter 10.27861870411243 ns/iter 1.25
JSON_String_Equal/100 14.14788839285665 ns/iter 13.146249718097058 ns/iter 1.08
JSON_String_Equal_Small_By_Perfect_Hash/10 1.8679909838108923 ns/iter 1.46182479845462 ns/iter 1.28
JSON_String_Equal_Small_By_Runtime_Perfect_Hash/10 12.10652857142845 ns/iter 9.926351562498326 ns/iter 1.22
JSON_String_Fast_Hash/10 4.592804261342604 ns/iter 2.630926448543861 ns/iter 1.75
JSON_String_Fast_Hash/100 4.453961752456538 ns/iter 2.627039216404453 ns/iter 1.70
JSON_String_Key_Hash/10 4.310840489146574 ns/iter 2.6536559797732546 ns/iter 1.62
JSON_String_Key_Hash/100 16.94670055615908 ns/iter 13.8084303571426 ns/iter 1.23
JSON_Object_Defines_Miss_Same_Length 3.939031806276964 ns/iter 3.572113922192669 ns/iter 1.10
JSON_Object_Defines_Miss_Too_Small 3.983540096399013 ns/iter 4.1090920294154305 ns/iter 0.97
JSON_Object_Defines_Miss_Too_Large 4.96355499999936 ns/iter 4.788001349973596 ns/iter 1.04
Pointer_Object_Traverse 41.926114847224184 ns/iter 36.351797565144565 ns/iter 1.15
Pointer_Object_Try_Traverse 53.336320000005344 ns/iter 50.24906908315114 ns/iter 1.06
Pointer_Push_Back_Pointer_To_Weak_Pointer 148.7076339285766 ns/iter 179.48269059036733 ns/iter 0.83
Pointer_Walker_Schema_ISO_Language 13519816.000000445 ns/iter 13143640.000000687 ns/iter 1.03
Pointer_Maybe_Tracked_Deeply_Nested/0 2035306.071428522 ns/iter 2181986.7424241146 ns/iter 0.93
Pointer_Maybe_Tracked_Deeply_Nested/1 3352494.642856791 ns/iter 4023701.675977687 ns/iter 0.83
Pointer_Position_Tracker_Get_Deeply_Nested 638.3083577647596 ns/iter 542.802608766136 ns/iter 1.18
URITemplateRouter_Create 37255.1293726906 ns/iter 40923.78271719415 ns/iter 0.91
URITemplateRouter_Match 214.06068750000176 ns/iter 254.26817652982302 ns/iter 0.84
URITemplateRouter_Match_BasePath 246.27507142858866 ns/iter 287.496630022496 ns/iter 0.86
URITemplateRouterView_Restore 23125.343749999414 ns/iter 24454.83571428651 ns/iter 0.95
URITemplateRouterView_Match 156.89970982141992 ns/iter 158.127637821067 ns/iter 0.99
URITemplateRouterView_Match_BasePath 183.9857176776212 ns/iter 175.35582424258786 ns/iter 1.05
URITemplateRouterView_Arguments 466.7133816838797 ns/iter 432.74335109829264 ns/iter 1.08
JSONL_Parse_Large 36533619.04761845 ns/iter 29973972.72726878 ns/iter 1.22
JSONL_Parse_Large_GZIP 28666899.99999835 ns/iter 28821171.999998115 ns/iter 0.99
HTML_Build_Table_100000 93410285.71428263 ns/iter 96432957.1428542 ns/iter 0.97
HTML_Render_Table_100000 8242401.333332053 ns/iter 12674319.642856956 ns/iter 0.65
GZIP_Compress_ISO_Language_Set_3_Locations 44084218.75000101 ns/iter 41506935.294117235 ns/iter 1.06
GZIP_Decompress_ISO_Language_Set_3_Locations 11944396.428570973 ns/iter 14366582.000000108 ns/iter 0.83
GZIP_Compress_ISO_Language_Set_3_Schema 2547573.928571215 ns/iter 2323358.8628764637 ns/iter 1.10
GZIP_Decompress_ISO_Language_Set_3_Schema 738246.0937499503 ns/iter 720610.2678571214 ns/iter 1.02

This comment was automatically generated by workflow using github-action-benchmark.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant