Skip to content

Implement idna_is_valid_u_label#2425

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

Implement idna_is_valid_u_label#2425
jviotti merged 2 commits into
mainfrom
u-label-2

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 new helper to validate IDNA2008 Unicode labels (U-labels) against the RFC 5891 lookup-time constraints.

Changes:

  • Implemented idna_is_valid_u_label() in src/core/idna/idna.cc, applying the hyphen restrictions, leading combining-mark restriction, and per-codepoint IDNA property checks (including CONTEXTJ/CONTEXTO rules).
  • Exported the new API in src/core/idna/include/sourcemeta/core/idna.h with usage documentation and examples.
  • Added a dedicated unit test suite (test/idna/idna_is_valid_u_label_test.cc) covering common valid labels and multiple invalid edge cases (hyphen shape, leading combining marks, DISALLOWED/UNASSIGNED code points, and contextual rules).
  • Updated test/idna/CMakeLists.txt to build and run the new tests.

Technical Notes: The function intentionally does not apply the Bidi rule, since Bidi domain detection depends on the full domain rather than a single label.

🤖 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/idna.cc
Signed-off-by: Juan Cruz Viotti <jv@jviotti.com>
Copy link
Copy Markdown

@cubic-dev-ai cubic-dev-ai Bot left a comment

Choose a reason for hiding this comment

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

1 issue found across 4 files

Reply with feedback, questions, or to request a fix.

Re-trigger cubic

Comment thread src/core/idna/idna.cc
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: 21ceb46 Previous: 0d62190 Ratio
GZIP_Compress_ISO_Language_Set_3_Locations 41082160.411763996 ns/iter 38758039.27777749 ns/iter 1.06
GZIP_Decompress_ISO_Language_Set_3_Locations 4455659.414012771 ns/iter 4806268.666666643 ns/iter 0.93
GZIP_Compress_ISO_Language_Set_3_Schema 2332571.299999889 ns/iter 2082168.7261905554 ns/iter 1.12
GZIP_Decompress_ISO_Language_Set_3_Schema 331039.6122449034 ns/iter 394769.07492957584 ns/iter 0.84
HTML_Build_Table_100000 65157193.72727475 ns/iter 58952697.666664265 ns/iter 1.11
HTML_Render_Table_100000 1877998.6461125717 ns/iter 1846023.2315788972 ns/iter 1.02
JSONL_Parse_Large 12219365.67241426 ns/iter 13106923.264151089 ns/iter 0.93
JSONL_Parse_Large_GZIP 13403031.865385411 ns/iter 14363280.38775456 ns/iter 0.93
URITemplateRouter_Create 30060.75194860764 ns/iter 32192.381478774107 ns/iter 0.93
URITemplateRouter_Match 175.17016593142392 ns/iter 174.36420381858184 ns/iter 1.00
URITemplateRouter_Match_BasePath 203.82128857759997 ns/iter 198.3030264978406 ns/iter 1.03
URITemplateRouterView_Restore 8637.763209803185 ns/iter 7795.252436948343 ns/iter 1.11
URITemplateRouterView_Match 131.7756348235321 ns/iter 140.26736713986662 ns/iter 0.94
URITemplateRouterView_Match_BasePath 155.79039286739498 ns/iter 165.352410040523 ns/iter 0.94
URITemplateRouterView_Arguments 457.05901533462975 ns/iter 474.9736764565383 ns/iter 0.96
Pointer_Object_Traverse 27.232792438649696 ns/iter 26.577632748514418 ns/iter 1.02
Pointer_Object_Try_Traverse 22.1274252966027 ns/iter 22.448898075693172 ns/iter 0.99
Pointer_Push_Back_Pointer_To_Weak_Pointer 177.78525572122686 ns/iter 135.87703441385628 ns/iter 1.31
Pointer_Walker_Schema_ISO_Language 3528358.3004926196 ns/iter 3323568.4575472292 ns/iter 1.06
Pointer_Maybe_Tracked_Deeply_Nested/0 1528779.2671082667 ns/iter 1610426.0091742931 ns/iter 0.95
Pointer_Maybe_Tracked_Deeply_Nested/1 1723654.1891891242 ns/iter 1779209.9821428321 ns/iter 0.97
Pointer_Position_Tracker_Get_Deeply_Nested 609.6437775136494 ns/iter 413.1677947557705 ns/iter 1.48
JSON_Array_Of_Objects_Unique 442.7148551904268 ns/iter 417.1457455609333 ns/iter 1.06
JSON_Parse_1 7773.685740517952 ns/iter 8057.71250516925 ns/iter 0.96
JSON_Parse_Real 11706.23434447978 ns/iter 12135.409592566553 ns/iter 0.96
JSON_Parse_Decimal 16205.569472757565 ns/iter 17685.962393638532 ns/iter 0.92
JSON_Parse_Schema_ISO_Language 4586510.493420953 ns/iter 4652083.199999879 ns/iter 0.99
JSON_Fast_Hash_Helm_Chart_Lock 64.7193168855315 ns/iter 71.95639650197711 ns/iter 0.90
JSON_Equality_Helm_Chart_Lock 181.54963459902103 ns/iter 149.52783381036897 ns/iter 1.21
JSON_Divisible_By_Decimal 229.91456167512604 ns/iter 239.00360973355382 ns/iter 0.96
JSON_String_Equal/10 5.764948844232298 ns/iter 5.7267909829831725 ns/iter 1.01
JSON_String_Equal/100 6.63618833343679 ns/iter 6.357562301965522 ns/iter 1.04
JSON_String_Equal_Small_By_Perfect_Hash/10 0.7112744202054904 ns/iter 0.6243083579087094 ns/iter 1.14
JSON_String_Equal_Small_By_Runtime_Perfect_Hash/10 21.97909997528461 ns/iter 25.213528807503994 ns/iter 0.87
JSON_String_Fast_Hash/10 1.7584235453796129 ns/iter 1.5585875483637672 ns/iter 1.13
JSON_String_Fast_Hash/100 1.7575744684153911 ns/iter 1.5573972572774748 ns/iter 1.13
JSON_String_Key_Hash/10 1.0854988756759143 ns/iter 1.2463981290914066 ns/iter 0.87
JSON_String_Key_Hash/100 14.761116378620134 ns/iter 12.442796460136444 ns/iter 1.19
JSON_Object_Defines_Miss_Same_Length 3.8721625926372334 ns/iter 3.426185799813386 ns/iter 1.13
JSON_Object_Defines_Miss_Too_Small 3.5193779778058016 ns/iter 3.11840218992012 ns/iter 1.13
JSON_Object_Defines_Miss_Too_Large 4.221920426615213 ns/iter 3.7370683062903236 ns/iter 1.13
Regex_Lower_S_Or_Upper_S_Asterisk 0.7037650604119272 ns/iter 0.6228365420717387 ns/iter 1.13
Regex_Caret_Lower_S_Or_Upper_S_Asterisk_Dollar 0.7035046216134592 ns/iter 0.6230681771280976 ns/iter 1.13
Regex_Period_Asterisk 1.0557312927783749 ns/iter 0.9346375211030321 ns/iter 1.13
Regex_Group_Period_Asterisk_Group 1.055921243287299 ns/iter 0.9373628490696461 ns/iter 1.13
Regex_Period_Plus 0.7044053231737489 ns/iter 0.6227798883561012 ns/iter 1.13
Regex_Period 0.7038795886689823 ns/iter 0.6227266926154369 ns/iter 1.13
Regex_Caret_Period_Plus_Dollar 1.0558522119585165 ns/iter 0.9352329069642317 ns/iter 1.13
Regex_Caret_Group_Period_Plus_Group_Dollar 1.0557620226748352 ns/iter 0.9342365376683208 ns/iter 1.13
Regex_Caret_Period_Asterisk_Dollar 0.7034227982902149 ns/iter 0.6227165701126075 ns/iter 1.13
Regex_Caret_Group_Period_Asterisk_Group_Dollar 0.7054701770140706 ns/iter 0.6226762034630331 ns/iter 1.13
Regex_Caret_X_Hyphen 3.516877644175658 ns/iter 4.048747227097113 ns/iter 0.87
Regex_Period_Md_Dollar 61.792602348341276 ns/iter 30.762024878751046 ns/iter 2.01
Regex_Caret_Slash_Period_Asterisk 4.572254142523857 ns/iter 4.6695303573158755 ns/iter 0.98
Regex_Caret_Period_Range_Dollar 0.8455098265986201 ns/iter 0.7784368835416585 ns/iter 1.09
Regex_Nested_Backtrack 57.95563589259883 ns/iter 39.51367024713213 ns/iter 1.47

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: 21ceb46 Previous: 0d62190 Ratio
Regex_Lower_S_Or_Upper_S_Asterisk 2.497566453990411 ns/iter 2.184702428302574 ns/iter 1.14
Regex_Caret_Lower_S_Or_Upper_S_Asterisk_Dollar 2.4619530341934905 ns/iter 2.197178924176844 ns/iter 1.12
Regex_Period_Asterisk 2.460869420664465 ns/iter 2.1847380584693212 ns/iter 1.13
Regex_Group_Period_Asterisk_Group 2.4614881624389047 ns/iter 2.1930783235095777 ns/iter 1.12
Regex_Period_Plus 3.5159318263483574 ns/iter 2.4917493990995667 ns/iter 1.41
Regex_Period 3.8713068426891692 ns/iter 2.8017599981172476 ns/iter 1.38
Regex_Caret_Period_Plus_Dollar 3.521115030871728 ns/iter 2.4899153911447924 ns/iter 1.41
Regex_Caret_Group_Period_Plus_Group_Dollar 3.8660172974941522 ns/iter 2.5061524220913505 ns/iter 1.54
Regex_Caret_Period_Asterisk_Dollar 2.4618617168183197 ns/iter 2.199332358277128 ns/iter 1.12
Regex_Caret_Group_Period_Asterisk_Group_Dollar 2.813160852212324 ns/iter 2.4896532542510874 ns/iter 1.13
Regex_Caret_X_Hyphen 6.552846064742631 ns/iter 6.328589800108836 ns/iter 1.04
Regex_Period_Md_Dollar 26.63265903084541 ns/iter 28.55836597500084 ns/iter 0.93
Regex_Caret_Slash_Period_Asterisk 7.382888599761165 ns/iter 5.911138261547519 ns/iter 1.25
Regex_Caret_Period_Range_Dollar 2.8174643663443346 ns/iter 4.045209893878762 ns/iter 0.70
Regex_Nested_Backtrack 37.41351534943789 ns/iter 37.10472010505188 ns/iter 1.01
JSON_Array_Of_Objects_Unique 437.564495090428 ns/iter 404.05310245582444 ns/iter 1.08
JSON_Parse_1 5769.338633012447 ns/iter 5873.760559593464 ns/iter 0.98
JSON_Parse_Real 10422.160731104657 ns/iter 10816.541223609272 ns/iter 0.96
JSON_Parse_Decimal 11384.210134975172 ns/iter 11321.317637852584 ns/iter 1.01
JSON_Parse_Schema_ISO_Language 3687599.95767198 ns/iter 3600836.6082475646 ns/iter 1.02
JSON_Fast_Hash_Helm_Chart_Lock 73.58611770958086 ns/iter 61.01006222113135 ns/iter 1.21
JSON_Equality_Helm_Chart_Lock 170.39272246698167 ns/iter 165.5452520735289 ns/iter 1.03
JSON_Divisible_By_Decimal 252.19551648482215 ns/iter 253.2368458048164 ns/iter 1.00
JSON_String_Equal/10 5.983088640699068 ns/iter 6.231112341476877 ns/iter 0.96
JSON_String_Equal/100 6.690950581746148 ns/iter 6.856165846242969 ns/iter 0.98
JSON_String_Equal_Small_By_Perfect_Hash/10 1.0548692651532745 ns/iter 0.9348642957876013 ns/iter 1.13
JSON_String_Equal_Small_By_Runtime_Perfect_Hash/10 12.341937505076402 ns/iter 10.26680569126676 ns/iter 1.20
JSON_String_Fast_Hash/10 2.820522595594084 ns/iter 2.809597199360703 ns/iter 1.00
JSON_String_Fast_Hash/100 2.8141959982064635 ns/iter 2.8021891352272643 ns/iter 1.00
JSON_String_Key_Hash/10 2.4622484021817552 ns/iter 2.1808257797536834 ns/iter 1.13
JSON_String_Key_Hash/100 8.08618664601024 ns/iter 6.545141720254464 ns/iter 1.24
JSON_Object_Defines_Miss_Same_Length 4.224700488373393 ns/iter 3.7399382564494235 ns/iter 1.13
JSON_Object_Defines_Miss_Too_Small 4.223948845894737 ns/iter 3.740552260380692 ns/iter 1.13
JSON_Object_Defines_Miss_Too_Large 4.222776461524109 ns/iter 3.738605552684064 ns/iter 1.13
Pointer_Object_Traverse 28.889514081550185 ns/iter 24.16816157917937 ns/iter 1.20
Pointer_Object_Try_Traverse 30.20903518734253 ns/iter 26.079085152411047 ns/iter 1.16
Pointer_Push_Back_Pointer_To_Weak_Pointer 199.05945465953081 ns/iter 198.685100115464 ns/iter 1.00
Pointer_Walker_Schema_ISO_Language 3121011.6936939163 ns/iter 3025152.6536798324 ns/iter 1.03
Pointer_Maybe_Tracked_Deeply_Nested/0 1416739.3407707291 ns/iter 1386088.1294820493 ns/iter 1.02
Pointer_Maybe_Tracked_Deeply_Nested/1 1761815.7760812868 ns/iter 1859993.728723392 ns/iter 0.95
Pointer_Position_Tracker_Get_Deeply_Nested 651.8598287387929 ns/iter 638.6643182725333 ns/iter 1.02
URITemplateRouter_Create 30239.407159342227 ns/iter 31791.963363336596 ns/iter 0.95
URITemplateRouter_Match 176.60384514551907 ns/iter 175.009772527279 ns/iter 1.01
URITemplateRouter_Match_BasePath 205.61304646620468 ns/iter 202.4313087343048 ns/iter 1.02
URITemplateRouterView_Restore 8734.513308977237 ns/iter 7731.392857142386 ns/iter 1.13
URITemplateRouterView_Match 144.10486809675342 ns/iter 144.5415234891707 ns/iter 1.00
URITemplateRouterView_Match_BasePath 169.40206109000863 ns/iter 163.26836987951526 ns/iter 1.04
URITemplateRouterView_Arguments 468.55067122889665 ns/iter 471.7421274319519 ns/iter 0.99
JSONL_Parse_Large 9909664.45070485 ns/iter 10851095.484374795 ns/iter 0.91
JSONL_Parse_Large_GZIP 11230327.72580524 ns/iter 11991041.12068959 ns/iter 0.94
HTML_Build_Table_100000 82362517.9999965 ns/iter 63368787.45454752 ns/iter 1.30
HTML_Render_Table_100000 5466426.294117689 ns/iter 5328164.015384993 ns/iter 1.03
GZIP_Compress_ISO_Language_Set_3_Locations 36386894.15789174 ns/iter 33855172.52381002 ns/iter 1.07
GZIP_Decompress_ISO_Language_Set_3_Locations 4643976.573333172 ns/iter 4860362.855173003 ns/iter 0.96
GZIP_Compress_ISO_Language_Set_3_Schema 2122157.9539877772 ns/iter 1887044.5860214802 ns/iter 1.12
GZIP_Decompress_ISO_Language_Set_3_Schema 289983.79170121945 ns/iter 378025.7725067243 ns/iter 0.77

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: 21ceb46 Previous: 0d62190 Ratio
Regex_Lower_S_Or_Upper_S_Asterisk 2.5049205269661363 ns/iter 1.9792177382538878 ns/iter 1.27
Regex_Caret_Lower_S_Or_Upper_S_Asterisk_Dollar 2.2571373314569128 ns/iter 1.666997247811898 ns/iter 1.35
Regex_Period_Asterisk 2.0903115413265962 ns/iter 1.7545494863213005 ns/iter 1.19
Regex_Group_Period_Asterisk_Group 2.246621618203922 ns/iter 1.645802609571671 ns/iter 1.37
Regex_Period_Plus 2.683902414578862 ns/iter 1.9504347029473867 ns/iter 1.38
Regex_Period 2.5360297722872547 ns/iter 1.9399570785242422 ns/iter 1.31
Regex_Caret_Period_Plus_Dollar 2.394706207967063 ns/iter 2.045974510069331 ns/iter 1.17
Regex_Caret_Group_Period_Plus_Group_Dollar 2.2332946514838885 ns/iter 2.029116081040868 ns/iter 1.10
Regex_Caret_Period_Asterisk_Dollar 1.820780969307673 ns/iter 1.7361741771331871 ns/iter 1.05
Regex_Caret_Group_Period_Asterisk_Group_Dollar 1.7628576266018394 ns/iter 1.894358846866043 ns/iter 0.93
Regex_Caret_X_Hyphen 6.333843517942888 ns/iter 6.771515977000142 ns/iter 0.94
Regex_Period_Md_Dollar 21.945769883852737 ns/iter 16.5820239770029 ns/iter 1.32
Regex_Caret_Slash_Period_Asterisk 8.457108373613279 ns/iter 7.716311787784532 ns/iter 1.10
Regex_Caret_Period_Range_Dollar 1.813938260599317 ns/iter 1.6666315911002183 ns/iter 1.09
Regex_Nested_Backtrack 25.13915191231045 ns/iter 26.629088785088225 ns/iter 0.94
JSON_Array_Of_Objects_Unique 432.2673452014488 ns/iter 408.2883759272808 ns/iter 1.06
JSON_Parse_1 4213.221525333003 ns/iter 3818.44227338578 ns/iter 1.10
JSON_Parse_Real 6861.5923618843035 ns/iter 6130.094265728044 ns/iter 1.12
JSON_Parse_Decimal 8543.194107102632 ns/iter 7641.292551659918 ns/iter 1.12
JSON_Parse_Schema_ISO_Language 3036760.6575343735 ns/iter 2929207.138756531 ns/iter 1.04
JSON_Fast_Hash_Helm_Chart_Lock 60.13782950267903 ns/iter 54.25829335373796 ns/iter 1.11
JSON_Equality_Helm_Chart_Lock 142.5515703554801 ns/iter 127.74885514155261 ns/iter 1.12
JSON_Divisible_By_Decimal 180.13353095940894 ns/iter 161.8214744509453 ns/iter 1.11
JSON_String_Equal/10 8.207353532678141 ns/iter 6.3239193241857095 ns/iter 1.30
JSON_String_Equal/100 7.064515529059015 ns/iter 6.022404986520774 ns/iter 1.17
JSON_String_Equal_Small_By_Perfect_Hash/10 0.8078803602150784 ns/iter 0.7116290333149462 ns/iter 1.14
JSON_String_Equal_Small_By_Runtime_Perfect_Hash/10 3.7345496491840118 ns/iter 3.2787428575569786 ns/iter 1.14
JSON_String_Fast_Hash/10 2.578000229542149 ns/iter 2.249423151867218 ns/iter 1.15
JSON_String_Fast_Hash/100 2.1808142699783675 ns/iter 1.8828383701303273 ns/iter 1.16
JSON_String_Key_Hash/10 1.5011642040594668 ns/iter 1.2578385953435942 ns/iter 1.19
JSON_String_Key_Hash/100 2.5386984920915165 ns/iter 1.9678316754335825 ns/iter 1.29
JSON_Object_Defines_Miss_Same_Length 2.740895872783226 ns/iter 2.2120677965605595 ns/iter 1.24
JSON_Object_Defines_Miss_Too_Small 2.6415913691885766 ns/iter 2.197539590038355 ns/iter 1.20
JSON_Object_Defines_Miss_Too_Large 2.61270552624376 ns/iter 2.3470498996588818 ns/iter 1.11
Pointer_Object_Traverse 17.938873529448415 ns/iter 12.94858081298764 ns/iter 1.39
Pointer_Object_Try_Traverse 23.511537099937694 ns/iter 17.82753522804502 ns/iter 1.32
Pointer_Push_Back_Pointer_To_Weak_Pointer 199.5352387648236 ns/iter 147.4031155737614 ns/iter 1.35
Pointer_Walker_Schema_ISO_Language 4852842.236641143 ns/iter 3620340.06250056 ns/iter 1.34
Pointer_Maybe_Tracked_Deeply_Nested/0 1141927.8980447582 ns/iter 892092.5340178198 ns/iter 1.28
Pointer_Maybe_Tracked_Deeply_Nested/1 1668998.5868642367 ns/iter 1208175.2854699625 ns/iter 1.38
Pointer_Position_Tracker_Get_Deeply_Nested 374.6801942549921 ns/iter 336.9796610949328 ns/iter 1.11
URITemplateRouter_Create 23597.087528702676 ns/iter 21133.904779270735 ns/iter 1.12
URITemplateRouter_Match 174.63658951485155 ns/iter 151.7180197696843 ns/iter 1.15
URITemplateRouter_Match_BasePath 204.1973013671931 ns/iter 179.2222662727209 ns/iter 1.14
URITemplateRouterView_Restore 10428.462577993601 ns/iter 8757.129602750892 ns/iter 1.19
URITemplateRouterView_Match 136.88085653881245 ns/iter 127.12640159645262 ns/iter 1.08
URITemplateRouterView_Match_BasePath 180.87730081368318 ns/iter 136.81976682507513 ns/iter 1.32
URITemplateRouterView_Arguments 430.7181781984951 ns/iter 385.7165700454996 ns/iter 1.12
JSONL_Parse_Large 13714501.659999313 ns/iter 11254364.583332215 ns/iter 1.22
JSONL_Parse_Large_GZIP 14430421.461539183 ns/iter 12002566.389833577 ns/iter 1.20
HTML_Build_Table_100000 67621550.88889207 ns/iter 59342300.00000298 ns/iter 1.14
HTML_Render_Table_100000 4441154.726114697 ns/iter 2265078.322785007 ns/iter 1.96
GZIP_Compress_ISO_Language_Set_3_Locations 29300446.166667864 ns/iter 25794347.222219784 ns/iter 1.14
GZIP_Decompress_ISO_Language_Set_3_Locations 5652055.335937156 ns/iter 4826910.560510372 ns/iter 1.17
GZIP_Compress_ISO_Language_Set_3_Schema 1577365.492170189 ns/iter 1463630.9278133896 ns/iter 1.08
GZIP_Decompress_ISO_Language_Set_3_Schema 300650.6557036197 ns/iter 261679.24706769563 ns/iter 1.15

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: 21ceb46 Previous: 0d62190 Ratio
Regex_Lower_S_Or_Upper_S_Asterisk 8.890337906738598 ns/iter 8.867007812500509 ns/iter 1.00
Regex_Caret_Lower_S_Or_Upper_S_Asterisk_Dollar 8.824000407034138 ns/iter 8.82089460347787 ns/iter 1.00
Regex_Period_Asterisk 8.8352243303572 ns/iter 8.865978978275596 ns/iter 1.00
Regex_Group_Period_Asterisk_Group 8.900322544642998 ns/iter 8.837145496263762 ns/iter 1.01
Regex_Period_Plus 11.3263124999996 ns/iter 12.295842187500128 ns/iter 0.92
Regex_Period 11.370198437500534 ns/iter 12.398873437499347 ns/iter 0.92
Regex_Caret_Period_Plus_Dollar 11.340323214288414 ns/iter 12.335993749999828 ns/iter 0.92
Regex_Caret_Group_Period_Plus_Group_Dollar 11.294364062500506 ns/iter 12.72259598214325 ns/iter 0.89
Regex_Caret_Period_Asterisk_Dollar 8.888926299602863 ns/iter 8.84106138392785 ns/iter 1.01
Regex_Caret_Group_Period_Asterisk_Group_Dollar 8.842666031952254 ns/iter 8.839167410713397 ns/iter 1.00
Regex_Caret_X_Hyphen 13.70388409061026 ns/iter 13.68754748353727 ns/iter 1.00
Regex_Period_Md_Dollar 40.557284471754045 ns/iter 40.33182152229913 ns/iter 1.01
Regex_Caret_Slash_Period_Asterisk 13.064976785715642 ns/iter 13.128912499999906 ns/iter 1.00
Regex_Caret_Period_Range_Dollar 11.322778124998933 ns/iter 11.285870312500279 ns/iter 1.00
Regex_Nested_Backtrack 50.37712000000738 ns/iter 50.16314000000648 ns/iter 1.00
JSON_Array_Of_Objects_Unique 513.6763999998948 ns/iter 510.5297000000064 ns/iter 1.01
JSON_Parse_1 7896.662946428482 ns/iter 7999.820312499954 ns/iter 0.99
JSON_Parse_Real 14120.870665757564 ns/iter 14361.268030054469 ns/iter 0.98
JSON_Parse_Decimal 14669.996785729689 ns/iter 14483.659447948783 ns/iter 1.01
JSON_Parse_Schema_ISO_Language 6357149.999999478 ns/iter 6475644.642856692 ns/iter 0.98
JSON_Fast_Hash_Helm_Chart_Lock 76.1890959821646 ns/iter 75.81911607143103 ns/iter 1.00
JSON_Equality_Helm_Chart_Lock 275.97698776683217 ns/iter 285.97391968345676 ns/iter 0.97
JSON_Divisible_By_Decimal 253.3278214286026 ns/iter 257.3360315775105 ns/iter 0.98
JSON_String_Equal/10 11.883482142857408 ns/iter 12.329673437498911 ns/iter 0.96
JSON_String_Equal/100 12.878494642856301 ns/iter 13.155950834126493 ns/iter 0.98
JSON_String_Equal_Small_By_Perfect_Hash/10 1.8199454443973693 ns/iter 1.7782781265883023 ns/iter 1.02
JSON_String_Equal_Small_By_Runtime_Perfect_Hash/10 11.952296875001878 ns/iter 11.998625000000374 ns/iter 1.00
JSON_String_Fast_Hash/10 4.251297499999396 ns/iter 4.249376250000125 ns/iter 1.00
JSON_String_Fast_Hash/100 4.252528926672655 ns/iter 4.259528435598107 ns/iter 1.00
JSON_String_Key_Hash/10 4.2562564936351155 ns/iter 4.255756270421631 ns/iter 1.00
JSON_String_Key_Hash/100 17.334209928563897 ns/iter 17.476502784758647 ns/iter 0.99
JSON_Object_Defines_Miss_Same_Length 4.0950329241074 ns/iter 3.942743303571662 ns/iter 1.04
JSON_Object_Defines_Miss_Too_Small 3.9721975446432065 ns/iter 3.9820071357467905 ns/iter 1.00
JSON_Object_Defines_Miss_Too_Large 4.973707999999988 ns/iter 4.995091999999204 ns/iter 1.00
Pointer_Object_Traverse 42.72514999999544 ns/iter 43.6929374999977 ns/iter 0.98
Pointer_Object_Try_Traverse 53.4396900000047 ns/iter 53.500590000021475 ns/iter 1.00
Pointer_Push_Back_Pointer_To_Weak_Pointer 165.43674107144366 ns/iter 176.04153187776024 ns/iter 0.94
Pointer_Walker_Schema_ISO_Language 13028089.285715591 ns/iter 13808651.999997891 ns/iter 0.94
Pointer_Maybe_Tracked_Deeply_Nested/0 2121115.90909017 ns/iter 2089103.4090904228 ns/iter 1.02
Pointer_Maybe_Tracked_Deeply_Nested/1 3124836.607142356 ns/iter 3181213.6150242174 ns/iter 0.98
Pointer_Position_Tracker_Get_Deeply_Nested 645.1905094646341 ns/iter 649.8401785715353 ns/iter 0.99
URITemplateRouter_Create 37475.33079765428 ns/iter 37959.13504463907 ns/iter 0.99
URITemplateRouter_Match 216.53596874998016 ns/iter 218.06318750002166 ns/iter 0.99
URITemplateRouter_Match_BasePath 247.1722142856996 ns/iter 247.55375000000055 ns/iter 1.00
URITemplateRouterView_Restore 23424.121428571914 ns/iter 23551.735714290444 ns/iter 0.99
URITemplateRouterView_Match 161.4467633928537 ns/iter 158.64946428573643 ns/iter 1.02
URITemplateRouterView_Match_BasePath 184.7845343557297 ns/iter 184.6148200548889 ns/iter 1.00
URITemplateRouterView_Arguments 442.79331249995835 ns/iter 446.62181250004096 ns/iter 0.99
JSONL_Parse_Large 32508966.666663736 ns/iter 29592554.16666906 ns/iter 1.10
JSONL_Parse_Large_GZIP 29052659.090904273 ns/iter 28581926.923073716 ns/iter 1.02
HTML_Build_Table_100000 94536314.2857007 ns/iter 93286557.142879 ns/iter 1.01
HTML_Render_Table_100000 8470303.333332494 ns/iter 8215547.777778435 ns/iter 1.03
GZIP_Compress_ISO_Language_Set_3_Locations 44216219.99999843 ns/iter 44172662.50000296 ns/iter 1.00
GZIP_Decompress_ISO_Language_Set_3_Locations 11827923.214285972 ns/iter 11927812.500001015 ns/iter 0.99
GZIP_Compress_ISO_Language_Set_3_Schema 2526471.590908669 ns/iter 2551670.357143264 ns/iter 0.99
GZIP_Decompress_ISO_Language_Set_3_Schema 737946.2053572285 ns/iter 693162.4107143161 ns/iter 1.06

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

@jviotti jviotti merged commit 9f26a94 into main May 26, 2026
13 checks passed
@jviotti jviotti deleted the u-label-2 branch May 26, 2026 20:36
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