Skip to content

Conversation

@jviotti
Copy link
Member

@jviotti jviotti commented Dec 23, 2025

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

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

augmentcode bot commented Dec 23, 2025

🤖 Augment PR Summary

Summary: This PR simplifies when the type_union_implicit canonicalizer rule is allowed to run.

Changes:

  • Replaced a long set of per-dialect keyword checks with a single scan over present keywords using SchemaWalker/SchemaKeywordType to detect disallowed constructs (e.g., references and in-place logical applicators).
  • Kept explicit guards for type, enum, and (where supported) const to avoid generating redundant/complex branches.
  • Added a 2020-12 canonicalization test covering schemas that use the Content vocabulary (e.g., contentSchema) to ensure the implicit type-union expansion still triggers in that scenario.

Technical Notes: The rule now relies on keyword classification from schema_walker rather than hardcoding keyword lists per draft, reducing duplication and easing maintenance as vocabularies evolve.

🤖 Was this summary useful? React with 👍 or 👎

Copy link

@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. No suggestions at this time.

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

Copy link

@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: 862e9c6 Previous: ca7352b Ratio
Regex_Lower_S_Or_Upper_S_Asterisk 3.111635070090708 ns/iter 3.121636162462178 ns/iter 1.00
Regex_Caret_Lower_S_Or_Upper_S_Asterisk_Dollar 3.1082774995309492 ns/iter 3.1106045805853486 ns/iter 1.00
Regex_Period_Asterisk 3.1074677615420176 ns/iter 3.109536987555225 ns/iter 1.00
Regex_Group_Period_Asterisk_Group 3.108235536910626 ns/iter 3.1095972227296707 ns/iter 1.00
Regex_Period_Plus 3.116454036441058 ns/iter 2.833851759659667 ns/iter 1.10
Regex_Period 3.1122296364583684 ns/iter 3.1099289852504515 ns/iter 1.00
Regex_Caret_Period_Plus_Dollar 3.121670064082343 ns/iter 3.1179764933745204 ns/iter 1.00
Regex_Caret_Group_Period_Plus_Group_Dollar 3.1081973012310713 ns/iter 2.81979476057087 ns/iter 1.10
Regex_Caret_Period_Asterisk_Dollar 3.7309791194203106 ns/iter 3.7426880694763107 ns/iter 1.00
Regex_Caret_Group_Period_Asterisk_Group_Dollar 3.7307990529823614 ns/iter 3.732302157667054 ns/iter 1.00
Regex_Caret_X_Hyphen 10.589406010726155 ns/iter 10.615421820250628 ns/iter 1.00
Regex_Period_Md_Dollar 28.18505182690691 ns/iter 27.229015737720594 ns/iter 1.04
Regex_Caret_Slash_Period_Asterisk 6.530033534699151 ns/iter 7.477410478383198 ns/iter 0.87
Regex_Caret_Period_Range_Dollar 4.0398091513970105 ns/iter 4.04145973534376 ns/iter 1.00
Regex_Nested_Backtrack 61.52319833431224 ns/iter 49.198531503339794 ns/iter 1.25
JSON_Array_Of_Objects_Unique 437.174704900122 ns/iter 436.0163658842175 ns/iter 1.00
JSON_Parse_1 29349.10118093442 ns/iter 29197.65574799754 ns/iter 1.01
JSON_Parse_Real 39509.30982410714 ns/iter 37665.17796105511 ns/iter 1.05
JSON_Parse_Decimal 133132.31571944075 ns/iter 131005.8233426953 ns/iter 1.02
JSON_Fast_Hash_Helm_Chart_Lock 62.187521229251345 ns/iter 62.22632386094452 ns/iter 1.00
JSON_Equality_Helm_Chart_Lock 175.89882587858122 ns/iter 173.53589952060756 ns/iter 1.01
JSON_String_Equal/10 8.09112542146584 ns/iter 7.782881136370695 ns/iter 1.04
JSON_String_Equal/100 8.7126622114544 ns/iter 8.41245655378712 ns/iter 1.04
JSON_String_Equal_Small_By_Perfect_Hash/10 0.9344518382612106 ns/iter 0.9348013234880156 ns/iter 1.00
JSON_String_Equal_Small_By_Runtime_Perfect_Hash/10 10.26386539317525 ns/iter 10.262577334232157 ns/iter 1.00
JSON_String_Fast_Hash/10 2.8035004175079816 ns/iter 2.7981884991480155 ns/iter 1.00
JSON_String_Fast_Hash/100 2.798117595320573 ns/iter 2.8000634555716717 ns/iter 1.00
JSON_String_Key_Hash/10 2.177574719284047 ns/iter 2.1784487450281005 ns/iter 1.00
JSON_String_Key_Hash/100 6.5321987347625985 ns/iter 6.529055300811248 ns/iter 1.00
JSON_Object_Defines_Miss_Same_Length 3.734922762233322 ns/iter 3.7476573765133425 ns/iter 1.00
JSON_Object_Defines_Miss_Too_Small 3.7511033755251697 ns/iter 3.7342778900012887 ns/iter 1.00
JSON_Object_Defines_Miss_Too_Large 3.733788404717006 ns/iter 3.7363904913804595 ns/iter 1.00
Pointer_Object_Traverse 44.32829098799232 ns/iter 45.397907217104816 ns/iter 0.98
Pointer_Object_Try_Traverse 53.486541411457246 ns/iter 53.57917247480911 ns/iter 1.00
Pointer_Push_Back_Pointer_To_Weak_Pointer 308.7048797130179 ns/iter 311.05663082786657 ns/iter 0.99
Schema_Frame_OMC_Instances 204783454.00003186 ns/iter 203441949.6666639 ns/iter 1.01
Schema_Frame_OMC_References 39331757.705881774 ns/iter 39202064.05555543 ns/iter 1.00
Schema_Frame_OMC_Locations 36930648.94999907 ns/iter 36359830.05263274 ns/iter 1.02
Schema_Frame_ISO_Language_Locations 182079450.74999544 ns/iter 176842784.00002995 ns/iter 1.03
Schema_Iterator_ISO_Language 6572350.872727385 ns/iter 6269847.714284943 ns/iter 1.05
Schema_PointerWalker_ISO_Language 4769362.624999631 ns/iter 4732072.394557888 ns/iter 1.01
Schema_Frame_ISO_Language_Locations_To_JSON 151903830.59998566 ns/iter 151118231.20000738 ns/iter 1.01
Schema_Tracker_ISO_Language 51247986.999999285 ns/iter 50835329.89999639 ns/iter 1.01
Schema_Tracker_ISO_Language_To_JSON 26168182.07407387 ns/iter 25704318.74074462 ns/iter 1.02
Schema_Format_ISO_Language_To_JSON 185695784.25001508 ns/iter 181658977.50003523 ns/iter 1.02
Schema_Bundle_Meta_2020_12 2266454.9870091686 ns/iter 2277537.195449224 ns/iter 1.00
Alterschema_Check_Readibility_ISO_Language_Set_3 309170734.00001985 ns/iter 309808040.00000715 ns/iter 1.00
Alterschema_Check_Readibility_OMC 207840615.9999986 ns/iter 209475618.00001797 ns/iter 0.99

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

Copy link

@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: 862e9c6 Previous: 44adbe9 Ratio
Regex_Lower_S_Or_Upper_S_Asterisk 1.6979994489062824 ns/iter 1.5911921681881467 ns/iter 1.07
Regex_Caret_Lower_S_Or_Upper_S_Asterisk_Dollar 1.7144792006746896 ns/iter 1.5926124352917783 ns/iter 1.08
Regex_Period_Asterisk 1.6792477686356142 ns/iter 1.5951485660362879 ns/iter 1.05
Regex_Group_Period_Asterisk_Group 1.6737218281519524 ns/iter 1.5830618518433788 ns/iter 1.06
Regex_Period_Plus 2.199155696405989 ns/iter 1.907384404083375 ns/iter 1.15
Regex_Period 2.0385797128840055 ns/iter 1.9178956663515663 ns/iter 1.06
Regex_Caret_Period_Plus_Dollar 2.0069263879105077 ns/iter 1.9128779776730584 ns/iter 1.05
Regex_Caret_Group_Period_Plus_Group_Dollar 1.9492892355582252 ns/iter 2.0386921658069657 ns/iter 0.96
Regex_Caret_Period_Asterisk_Dollar 1.5689451833338337 ns/iter 1.7186354142459812 ns/iter 0.91
Regex_Caret_Group_Period_Asterisk_Group_Dollar 1.632016866083823 ns/iter 1.7520320145759327 ns/iter 0.93
Regex_Caret_X_Hyphen 6.259798497372906 ns/iter 6.600773444485045 ns/iter 0.95
Regex_Period_Md_Dollar 19.420095009561845 ns/iter 20.542507171063157 ns/iter 0.95
Regex_Caret_Slash_Period_Asterisk 5.020726249999825 ns/iter 5.12366754848149 ns/iter 0.98
Regex_Caret_Period_Range_Dollar 1.7001882658426837 ns/iter 1.788306335056486 ns/iter 0.95
Regex_Nested_Backtrack 27.761046355771004 ns/iter 29.77304329193431 ns/iter 0.93
JSON_Array_Of_Objects_Unique 341.9860192379218 ns/iter 366.08683471011574 ns/iter 0.93
JSON_Parse_1 20562.642675449115 ns/iter 20941.520551066777 ns/iter 0.98
JSON_Parse_Real 23373.84497149953 ns/iter 24130.978562422075 ns/iter 0.97
JSON_Parse_Decimal 231236.08390466784 ns/iter 236965.1041666445 ns/iter 0.98
JSON_Fast_Hash_Helm_Chart_Lock 57.00985420090708 ns/iter 54.65086039811794 ns/iter 1.04
JSON_Equality_Helm_Chart_Lock 131.13995633094143 ns/iter 131.01191788257503 ns/iter 1.00
JSON_String_Equal/10 6.669691028867926 ns/iter 6.656900654958533 ns/iter 1.00
JSON_String_Equal/100 6.466645337871799 ns/iter 6.227182703530959 ns/iter 1.04
JSON_String_Equal_Small_By_Perfect_Hash/10 0.33738699396211413 ns/iter 0.31953090673921725 ns/iter 1.06
JSON_String_Equal_Small_By_Runtime_Perfect_Hash/10 3.2219282184235003 ns/iter 3.092090548118539 ns/iter 1.04
JSON_String_Fast_Hash/10 2.3478911346388935 ns/iter 2.2559559650813195 ns/iter 1.04
JSON_String_Fast_Hash/100 2.0783732794015064 ns/iter 2.092950290152977 ns/iter 0.99
JSON_String_Key_Hash/10 1.3401398350136617 ns/iter 1.4140540096668146 ns/iter 0.95
JSON_String_Key_Hash/100 2.1007463527650265 ns/iter 2.250065760918511 ns/iter 0.93
JSON_Object_Defines_Miss_Same_Length 2.6209989181140005 ns/iter 2.7616926167292637 ns/iter 0.95
JSON_Object_Defines_Miss_Too_Small 2.6309712003379864 ns/iter 2.7779246860338622 ns/iter 0.95
JSON_Object_Defines_Miss_Too_Large 2.6340506306171085 ns/iter 2.7771780606869214 ns/iter 0.95
Pointer_Object_Traverse 14.831643406962657 ns/iter 15.84759189585003 ns/iter 0.94
Pointer_Object_Try_Traverse 19.847410650646363 ns/iter 19.647969444247632 ns/iter 1.01
Pointer_Push_Back_Pointer_To_Weak_Pointer 159.79461046010798 ns/iter 157.0444472317236 ns/iter 1.02
Schema_Frame_OMC_Instances 178005854.2499887 ns/iter 180669948.00000203 ns/iter 0.99
Schema_Frame_OMC_References 35379870.99999944 ns/iter 33139384.49999589 ns/iter 1.07
Schema_Frame_OMC_Locations 34254136.9047597 ns/iter 31312927.52173858 ns/iter 1.09
Schema_Frame_ISO_Language_Locations 121632600.00002083 ns/iter 121107441.5999974 ns/iter 1.00
Schema_Iterator_ISO_Language 6281832.311476108 ns/iter 6336760.869565138 ns/iter 0.99
Schema_PointerWalker_ISO_Language 6118451.258927849 ns/iter 5766817.756097691 ns/iter 1.06
Schema_Frame_ISO_Language_Locations_To_JSON 77793942.75002006 ns/iter 70238066.6999943 ns/iter 1.11
Schema_Tracker_ISO_Language 40997863.38887649 ns/iter 36074120.84999737 ns/iter 1.14
Schema_Tracker_ISO_Language_To_JSON 14916026.8958326 ns/iter 14238569.734692534 ns/iter 1.05
Schema_Format_ISO_Language_To_JSON 118872923.6666859 ns/iter 118660888.99999265 ns/iter 1.00
Schema_Bundle_Meta_2020_12 1781386.6714624325 ns/iter 1697032.9784200715 ns/iter 1.05
Alterschema_Check_Readibility_ISO_Language_Set_3 229360958.3333212 ns/iter 214832111.00000215 ns/iter 1.07
Alterschema_Check_Readibility_OMC 195954770.75000644 ns/iter 228803416.6666648 ns/iter 0.86

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

Copy link

@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: 862e9c6 Previous: ca7352b Ratio
Regex_Lower_S_Or_Upper_S_Asterisk 4.410515000000714 ns/iter 4.407879999999409 ns/iter 1.00
Regex_Caret_Lower_S_Or_Upper_S_Asterisk_Dollar 5.031982142857113 ns/iter 5.221305000000029 ns/iter 0.96
Regex_Period_Asterisk 4.398677499999337 ns/iter 4.542152688708661 ns/iter 0.97
Regex_Group_Period_Asterisk_Group 5.033868000000439 ns/iter 5.131946000001335 ns/iter 0.98
Regex_Period_Plus 4.084934293009968 ns/iter 4.305846194785271 ns/iter 0.95
Regex_Period 4.084377730508202 ns/iter 4.1630878106407305 ns/iter 0.98
Regex_Caret_Period_Plus_Dollar 4.7260225551931905 ns/iter 4.7855468091039945 ns/iter 0.99
Regex_Caret_Group_Period_Plus_Group_Dollar 4.706929698006892 ns/iter 5.141920999999456 ns/iter 0.92
Regex_Caret_Period_Asterisk_Dollar 5.031216273444501 ns/iter 5.31044300000076 ns/iter 0.95
Regex_Caret_Group_Period_Asterisk_Group_Dollar 5.027728999998544 ns/iter 5.3058319999991 ns/iter 0.95
Regex_Caret_X_Hyphen 8.180235491071892 ns/iter 9.067825405946989 ns/iter 0.90
Regex_Period_Md_Dollar 35.059131876060455 ns/iter 39.99085937498949 ns/iter 0.88
Regex_Caret_Slash_Period_Asterisk 8.163956249999517 ns/iter 8.58573076524298 ns/iter 0.95
Regex_Caret_Period_Range_Dollar 5.033083000000715 ns/iter 5.373064000000341 ns/iter 0.94
Regex_Nested_Backtrack 99.76595983186513 ns/iter 97.96474116229156 ns/iter 1.02
JSON_Array_Of_Objects_Unique 463.9587419550459 ns/iter 468.8274483990095 ns/iter 0.99
JSON_Parse_1 75196.3281249855 ns/iter 73380.99330357499 ns/iter 1.02
JSON_Parse_Real 93483.62126689675 ns/iter 92285.87116647641 ns/iter 1.01
JSON_Parse_Decimal 355137.1183717306 ns/iter 328167.583497061 ns/iter 1.08
JSON_Fast_Hash_Helm_Chart_Lock 63.43019999999342 ns/iter 61.889719999999215 ns/iter 1.02
JSON_Equality_Helm_Chart_Lock 278.29206153084664 ns/iter 279.4076393120873 ns/iter 1.00
JSON_String_Equal/10 12.859760714288118 ns/iter 12.850819642855932 ns/iter 1.00
JSON_String_Equal/100 14.235826275731535 ns/iter 14.129073820852588 ns/iter 1.01
JSON_String_Equal_Small_By_Perfect_Hash/10 1.9262732567785843 ns/iter 1.8809769659653544 ns/iter 1.02
JSON_String_Equal_Small_By_Runtime_Perfect_Hash/10 13.182227619725646 ns/iter 12.538718749997457 ns/iter 1.05
JSON_String_Fast_Hash/10 3.1930973487396095 ns/iter 3.140108442406253 ns/iter 1.02
JSON_String_Fast_Hash/100 3.1752678571430284 ns/iter 3.139979910714479 ns/iter 1.01
JSON_String_Key_Hash/10 4.413315624999825 ns/iter 4.398843750000481 ns/iter 1.00
JSON_String_Key_Hash/100 13.761992349277735 ns/iter 16.237676900192977 ns/iter 0.85
JSON_Object_Defines_Miss_Same_Length 3.8625701716736414 ns/iter 3.7635080289942855 ns/iter 1.03
JSON_Object_Defines_Miss_Too_Small 3.7835555289574465 ns/iter 3.790676897322344 ns/iter 1.00
JSON_Object_Defines_Miss_Too_Large 3.777631064683079 ns/iter 3.7680326718430095 ns/iter 1.00
Pointer_Object_Traverse 57.823669642869746 ns/iter 57.84277000000201 ns/iter 1.00
Pointer_Object_Try_Traverse 69.85351562501003 ns/iter 69.63317857142215 ns/iter 1.00
Pointer_Push_Back_Pointer_To_Weak_Pointer 157.74171875000727 ns/iter 180.7675299621029 ns/iter 0.87
Schema_Frame_OMC_Instances 398671049.99996173 ns/iter 394375250.0000528 ns/iter 1.01
Schema_Frame_OMC_References 79390388.88887101 ns/iter 82259888.88888322 ns/iter 0.97
Schema_Frame_OMC_Locations 77228277.77777436 ns/iter 78276855.55553722 ns/iter 0.99
Schema_Frame_ISO_Language_Locations 319579200.00002104 ns/iter 315851449.9999683 ns/iter 1.01
Schema_Iterator_ISO_Language 13607942.222223656 ns/iter 14321569.64285777 ns/iter 0.95
Schema_PointerWalker_ISO_Language 10430259.374999195 ns/iter 12404157.142855508 ns/iter 0.84
Schema_Frame_ISO_Language_Locations_To_JSON 228644233.3333222 ns/iter 241817566.66666842 ns/iter 0.95
Schema_Tracker_ISO_Language 105067114.2857027 ns/iter 110565350.00000167 ns/iter 0.95
Schema_Tracker_ISO_Language_To_JSON 56055200.00001434 ns/iter 57175009.090914585 ns/iter 0.98
Schema_Format_ISO_Language_To_JSON 322435849.99991983 ns/iter 338365400.00004333 ns/iter 0.95
Schema_Bundle_Meta_2020_12 3808756.684486586 ns/iter 4047577.1084290054 ns/iter 0.94
Alterschema_Check_Readibility_ISO_Language_Set_3 472149950.00001633 ns/iter 514297599.9999635 ns/iter 0.92
Alterschema_Check_Readibility_OMC 393032349.99999857 ns/iter 410666699.99997884 ns/iter 0.96

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

Copy link

@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/gcc)

Details
Benchmark suite Current: 862e9c6 Previous: ca7352b Ratio
Regex_Lower_S_Or_Upper_S_Asterisk 2.4786963675178626 ns/iter 2.1758627557210994 ns/iter 1.14
Regex_Caret_Lower_S_Or_Upper_S_Asterisk_Dollar 2.428265488149748 ns/iter 2.220907605283352 ns/iter 1.09
Regex_Period_Asterisk 2.250221976938865 ns/iter 2.270468645441243 ns/iter 0.99
Regex_Group_Period_Asterisk_Group 2.169959334831333 ns/iter 2.238120793526648 ns/iter 0.97
Regex_Period_Plus 2.2426809741339095 ns/iter 2.2642229487739094 ns/iter 0.99
Regex_Period 2.270690739586247 ns/iter 2.233679100727081 ns/iter 1.02
Regex_Caret_Period_Plus_Dollar 2.4271538388186387 ns/iter 2.294945535353846 ns/iter 1.06
Regex_Caret_Group_Period_Plus_Group_Dollar 2.3684125037935253 ns/iter 2.381656628954137 ns/iter 0.99
Regex_Caret_Period_Asterisk_Dollar 2.2150174571698793 ns/iter 2.191298646893055 ns/iter 1.01
Regex_Caret_Group_Period_Asterisk_Group_Dollar 2.1712115829740886 ns/iter 2.077791969007342 ns/iter 1.04
Regex_Caret_X_Hyphen 6.706069720728488 ns/iter 6.322141791415204 ns/iter 1.06
Regex_Period_Md_Dollar 22.76783343239557 ns/iter 20.976631686097942 ns/iter 1.09
Regex_Caret_Slash_Period_Asterisk 5.101230053014793 ns/iter 4.732176754041406 ns/iter 1.08
Regex_Caret_Period_Range_Dollar 2.3831063431714523 ns/iter 2.1791555880249924 ns/iter 1.09
Regex_Nested_Backtrack 48.88303882955782 ns/iter 44.83676870537274 ns/iter 1.09
JSON_Array_Of_Objects_Unique 289.3546533589357 ns/iter 320.46413634556484 ns/iter 0.90
JSON_Parse_1 25512.27722897794 ns/iter 27195.145506725778 ns/iter 0.94
JSON_Parse_Real 27187.821515557418 ns/iter 30416.916803690816 ns/iter 0.89
JSON_Parse_Decimal 281028.1673618904 ns/iter 284219.4681653919 ns/iter 0.99
JSON_Fast_Hash_Helm_Chart_Lock 37.35939103384777 ns/iter 37.11970143257614 ns/iter 1.01
JSON_Equality_Helm_Chart_Lock 160.16066171978719 ns/iter 131.90416875416813 ns/iter 1.21
JSON_String_Equal/10 7.33613194877328 ns/iter 6.29393331029874 ns/iter 1.17
JSON_String_Equal/100 7.080919652855412 ns/iter 5.693520333716497 ns/iter 1.24
JSON_String_Equal_Small_By_Perfect_Hash/10 0.9570899486117265 ns/iter 0.8481988780853963 ns/iter 1.13
JSON_String_Equal_Small_By_Runtime_Perfect_Hash/10 3.8565954695698244 ns/iter 3.7634954088460812 ns/iter 1.02
JSON_String_Fast_Hash/10 2.061213617410718 ns/iter 1.9914838738846692 ns/iter 1.04
JSON_String_Fast_Hash/100 2.0262504793234517 ns/iter 1.9666193413676214 ns/iter 1.03
JSON_String_Key_Hash/10 1.5906443766109413 ns/iter 1.5504066226059352 ns/iter 1.03
JSON_String_Key_Hash/100 2.996710150277118 ns/iter 2.6679921848026367 ns/iter 1.12
JSON_Object_Defines_Miss_Same_Length 1.9194004442077672 ns/iter 1.8697289390165568 ns/iter 1.03
JSON_Object_Defines_Miss_Too_Small 1.9706606940022895 ns/iter 1.8927386670368112 ns/iter 1.04
JSON_Object_Defines_Miss_Too_Large 1.9758931322648081 ns/iter 1.8988782254673904 ns/iter 1.04
Pointer_Object_Traverse 61.518872528788506 ns/iter 53.248752492701 ns/iter 1.16
Pointer_Object_Try_Traverse 41.566357110002855 ns/iter 38.18793829703971 ns/iter 1.09
Pointer_Push_Back_Pointer_To_Weak_Pointer 188.08616794636995 ns/iter 163.4391575435066 ns/iter 1.15
Schema_Frame_OMC_Instances 259183724.7212728 ns/iter 223091920.21687827 ns/iter 1.16
Schema_Frame_OMC_References 60974216.46118164 ns/iter 45896187.42465973 ns/iter 1.33
Schema_Frame_OMC_Locations 49500278.064182825 ns/iter 42830124.497413635 ns/iter 1.16
Schema_Frame_ISO_Language_Locations 192908227.44369507 ns/iter 180258512.49694824 ns/iter 1.07
Schema_Iterator_ISO_Language 7020280.361175537 ns/iter 7154939.150569415 ns/iter 0.98
Schema_PointerWalker_ISO_Language 11159758.41399162 ns/iter 10125528.363620535 ns/iter 1.10
Schema_Frame_ISO_Language_Locations_To_JSON 175286769.86694336 ns/iter 172918021.67892456 ns/iter 1.01
Schema_Tracker_ISO_Language 42114362.12062836 ns/iter 44292702.394373275 ns/iter 0.95
Schema_Tracker_ISO_Language_To_JSON 25647966.950028032 ns/iter 25850039.94129322 ns/iter 0.99
Schema_Format_ISO_Language_To_JSON 180489480.49545288 ns/iter 177466094.49386597 ns/iter 1.02
Schema_Bundle_Meta_2020_12 1990934.3203982792 ns/iter 1996807.7746784918 ns/iter 1.00
Alterschema_Check_Readibility_ISO_Language_Set_3 350995540.6188965 ns/iter 249895652.13521323 ns/iter 1.40
Alterschema_Check_Readibility_OMC 229652086.89371744 ns/iter 195956051.3496399 ns/iter 1.17

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

Copy link

@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: 862e9c6 Previous: ca7352b Ratio
Alterschema_Check_Readibility_ISO_Language_Set_3 303771590.49999136 ns/iter 308681240.4999364 ns/iter 0.98
Alterschema_Check_Readibility_OMC 202246134.9999958 ns/iter 210230165.6666441 ns/iter 0.96
Schema_Frame_OMC_Instances 197729934.75004342 ns/iter 199375758.0000306 ns/iter 0.99
Schema_Frame_OMC_References 37910395.88889412 ns/iter 40803380.117642306 ns/iter 0.93
Schema_Frame_OMC_Locations 35678092.699993156 ns/iter 37813582.84211484 ns/iter 0.94
Schema_Frame_ISO_Language_Locations 167776533.499989 ns/iter 174036063.00001684 ns/iter 0.96
Schema_Iterator_ISO_Language 6899887.23762227 ns/iter 7223567.579999327 ns/iter 0.96
Schema_PointerWalker_ISO_Language 4458260.779873791 ns/iter 4477695.853503661 ns/iter 1.00
Schema_Frame_ISO_Language_Locations_To_JSON 266913722.6666862 ns/iter 276232986.66662776 ns/iter 0.97
Schema_Tracker_ISO_Language 47758837.26665597 ns/iter 50955243.64285861 ns/iter 0.94
Schema_Tracker_ISO_Language_To_JSON 30852306.090909306 ns/iter 36041911.8999971 ns/iter 0.86
Schema_Format_ISO_Language_To_JSON 173592963.99996537 ns/iter 180891668.74995044 ns/iter 0.96
Schema_Bundle_Meta_2020_12 2435211.878469722 ns/iter 2451822.9929877603 ns/iter 0.99
Pointer_Object_Traverse 50.790596207967766 ns/iter 51.101347797068634 ns/iter 0.99
Pointer_Object_Try_Traverse 26.145789090913087 ns/iter 26.158341524918242 ns/iter 1.00
Pointer_Push_Back_Pointer_To_Weak_Pointer 158.0534852505674 ns/iter 163.50738182442709 ns/iter 0.97
JSON_Array_Of_Objects_Unique 393.9756238395335 ns/iter 394.6064734707551 ns/iter 1.00
JSON_Parse_1 32999.00742175443 ns/iter 33146.255666495264 ns/iter 1.00
JSON_Parse_Real 43901.479010027266 ns/iter 43857.93670489441 ns/iter 1.00
JSON_Parse_Decimal 156561.92694367608 ns/iter 158336.78930670428 ns/iter 0.99
JSON_Fast_Hash_Helm_Chart_Lock 48.96313815122216 ns/iter 55.04472039999656 ns/iter 0.89
JSON_Equality_Helm_Chart_Lock 157.87772954782284 ns/iter 160.21966056069078 ns/iter 0.99
JSON_String_Equal/10 6.924022740963214 ns/iter 6.945954453182271 ns/iter 1.00
JSON_String_Equal/100 7.555483354018538 ns/iter 7.582167716028929 ns/iter 1.00
JSON_String_Equal_Small_By_Perfect_Hash/10 0.6231796200333755 ns/iter 0.625784298646473 ns/iter 1.00
JSON_String_Equal_Small_By_Runtime_Perfect_Hash/10 13.457824318119014 ns/iter 13.705317196889574 ns/iter 0.98
JSON_String_Fast_Hash/10 1.9049284909349478 ns/iter 1.9036373488772507 ns/iter 1.00
JSON_String_Fast_Hash/100 1.9042201473207527 ns/iter 1.906474528335626 ns/iter 1.00
JSON_String_Key_Hash/10 2.3038287414398195 ns/iter 2.294878234259324 ns/iter 1.00
JSON_String_Key_Hash/100 13.369731917809206 ns/iter 13.37460406936203 ns/iter 1.00
JSON_Object_Defines_Miss_Same_Length 2.487789232756251 ns/iter 2.487920081930503 ns/iter 1.00
JSON_Object_Defines_Miss_Too_Small 2.4872008412557527 ns/iter 2.487222577312009 ns/iter 1.00
JSON_Object_Defines_Miss_Too_Large 2.4883551481899366 ns/iter 2.48725806380022 ns/iter 1.00
Regex_Lower_S_Or_Upper_S_Asterisk 3.110977963368968 ns/iter 3.1098010905830473 ns/iter 1.00
Regex_Caret_Lower_S_Or_Upper_S_Asterisk_Dollar 3.112241415046895 ns/iter 3.1207099419217514 ns/iter 1.00
Regex_Period_Asterisk 3.1101683931016972 ns/iter 3.119863212872284 ns/iter 1.00
Regex_Group_Period_Asterisk_Group 3.109530563094079 ns/iter 3.110226770023567 ns/iter 1.00
Regex_Period_Plus 3.108133567750552 ns/iter 3.1148177476843473 ns/iter 1.00
Regex_Period 3.1211162588422914 ns/iter 3.1089724477511864 ns/iter 1.00
Regex_Caret_Period_Plus_Dollar 3.1095527078557716 ns/iter 3.108142035457557 ns/iter 1.00
Regex_Caret_Group_Period_Plus_Group_Dollar 3.1080548499132408 ns/iter 3.1084624516184167 ns/iter 1.00
Regex_Caret_Period_Asterisk_Dollar 4.353980995854301 ns/iter 4.361500270081751 ns/iter 1.00
Regex_Caret_Group_Period_Asterisk_Group_Dollar 4.350920997064539 ns/iter 4.350444146156647 ns/iter 1.00
Regex_Caret_X_Hyphen 13.682816643983704 ns/iter 13.063989041813288 ns/iter 1.05
Regex_Period_Md_Dollar 43.61701339424006 ns/iter 44.237007306635995 ns/iter 0.99
Regex_Caret_Slash_Period_Asterisk 8.082006707344888 ns/iter 8.084647466878781 ns/iter 1.00
Regex_Caret_Period_Range_Dollar 4.666949904245975 ns/iter 4.664560655954515 ns/iter 1.00
Regex_Nested_Backtrack 70.81600845716953 ns/iter 69.9334583648475 ns/iter 1.01

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

@jviotti jviotti merged commit 734b515 into main Dec 23, 2025
13 checks passed
@jviotti jviotti deleted the type-union-checks branch December 23, 2025 15:11
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.

2 participants