Skip to content

Conversation

@jviotti
Copy link
Member

@jviotti jviotti commented Dec 26, 2025

Signed-off-by: Juan Cruz Viotti [email protected]

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: 85f5ecb Previous: d2ddfa0 Ratio
Regex_Lower_S_Or_Upper_S_Asterisk 3.1182703558820197 ns/iter 3.11101933424488 ns/iter 1.00
Regex_Caret_Lower_S_Or_Upper_S_Asterisk_Dollar 3.1096374210215743 ns/iter 3.108212699605853 ns/iter 1.00
Regex_Period_Asterisk 3.1083118465720996 ns/iter 3.109716113292704 ns/iter 1.00
Regex_Group_Period_Asterisk_Group 3.107896089463079 ns/iter 3.108616356127814 ns/iter 1.00
Regex_Period_Plus 3.107614561768082 ns/iter 2.9380012668286253 ns/iter 1.06
Regex_Period 3.1082204975047727 ns/iter 3.1017836016699616 ns/iter 1.00
Regex_Caret_Period_Plus_Dollar 3.108452081567684 ns/iter 2.9864817651867264 ns/iter 1.04
Regex_Caret_Group_Period_Plus_Group_Dollar 3.1102138278769376 ns/iter 2.9504115630257712 ns/iter 1.05
Regex_Caret_Period_Asterisk_Dollar 3.1080203643600703 ns/iter 3.4190630332256364 ns/iter 0.91
Regex_Caret_Group_Period_Asterisk_Group_Dollar 3.107128354919877 ns/iter 3.4261320274110862 ns/iter 0.91
Regex_Caret_X_Hyphen 10.264220431850944 ns/iter 12.440404190134087 ns/iter 0.83
Regex_Period_Md_Dollar 27.33517975778285 ns/iter 28.98865954713054 ns/iter 0.94
Regex_Caret_Slash_Period_Asterisk 6.069977406035648 ns/iter 7.469925972695035 ns/iter 0.81
Regex_Caret_Period_Range_Dollar 3.4074961964338493 ns/iter 3.731258812732867 ns/iter 0.91
Regex_Nested_Backtrack 49.24314081459219 ns/iter 49.85896895325606 ns/iter 0.99
JSON_Array_Of_Objects_Unique 486.1871912014546 ns/iter 432.9485391229223 ns/iter 1.12
JSON_Parse_1 29403.817442499807 ns/iter 29408.58717401422 ns/iter 1.00
JSON_Parse_Real 37496.52240971514 ns/iter 38201.613817150006 ns/iter 0.98
JSON_Parse_Decimal 129259.19933246277 ns/iter 130636.2117757132 ns/iter 0.99
JSON_Fast_Hash_Helm_Chart_Lock 63.77801819487906 ns/iter 62.717968001167726 ns/iter 1.02
JSON_Equality_Helm_Chart_Lock 166.39868894032398 ns/iter 165.37278720031938 ns/iter 1.01
JSON_String_Equal/10 7.1613217605619335 ns/iter 7.160508276193431 ns/iter 1.00
JSON_String_Equal/100 7.784741082625059 ns/iter 7.7870631624155155 ns/iter 1.00
JSON_String_Equal_Small_By_Perfect_Hash/10 0.9359110480394102 ns/iter 0.9381460516798086 ns/iter 1.00
JSON_String_Equal_Small_By_Runtime_Perfect_Hash/10 10.270987280496387 ns/iter 14.629251674663626 ns/iter 0.70
JSON_String_Fast_Hash/10 2.8014665318734795 ns/iter 2.486865542094256 ns/iter 1.13
JSON_String_Fast_Hash/100 2.8002113757968 ns/iter 2.4888007569455506 ns/iter 1.13
JSON_String_Key_Hash/10 2.1793470007469598 ns/iter 2.6952699972993863 ns/iter 0.81
JSON_String_Key_Hash/100 6.5508106851919115 ns/iter 9.01513976862813 ns/iter 0.73
JSON_Object_Defines_Miss_Same_Length 3.7355816155782495 ns/iter 3.734438607765705 ns/iter 1.00
JSON_Object_Defines_Miss_Too_Small 3.734340872569687 ns/iter 3.736866244357192 ns/iter 1.00
JSON_Object_Defines_Miss_Too_Large 3.7387592900466426 ns/iter 3.7331174266461913 ns/iter 1.00
Pointer_Object_Traverse 44.46725666104339 ns/iter 46.120695763066834 ns/iter 0.96
Pointer_Object_Try_Traverse 52.328056172725724 ns/iter 53.55080933717353 ns/iter 0.98
Pointer_Push_Back_Pointer_To_Weak_Pointer 351.86011422590957 ns/iter 308.2798343823358 ns/iter 1.14
Schema_Frame_WoT_References 7770374.633333985 ns/iter
Schema_Frame_OMC_References 38678748.22222146 ns/iter 36539009.578949556 ns/iter 1.06
Schema_Frame_OMC_Locations 36043260.31578646 ns/iter 33431233.42857065 ns/iter 1.08
Schema_Frame_ISO_Language_Locations 175470109.24999994 ns/iter 168452471.2499922 ns/iter 1.04
Schema_Iterator_ISO_Language 6265299.576576532 ns/iter 6143559.640350847 ns/iter 1.02
Schema_PointerWalker_ISO_Language 4665632.731543394 ns/iter 4621388.236841994 ns/iter 1.01
Schema_Frame_ISO_Language_Locations_To_JSON 150026313.80000368 ns/iter 145988056.00001016 ns/iter 1.03
Schema_Tracker_ISO_Language 48332204.14285831 ns/iter 45753275.40000368 ns/iter 1.06
Schema_Tracker_ISO_Language_To_JSON 24687060.41379627 ns/iter 22899840.096772917 ns/iter 1.08
Schema_Format_ISO_Language_To_JSON 184329732.75000107 ns/iter 174639716.24999887 ns/iter 1.06
Schema_Bundle_Meta_2020_12 2305073.6052623894 ns/iter 2260207.7605197956 ns/iter 1.02
Alterschema_Check_Readibility_ISO_Language_Set_3 299346105.9999731 ns/iter 293660506.4999753 ns/iter 1.02
Alterschema_Check_Readibility_OMC 42705130.75000082 ns/iter 211045517.0000023 ns/iter 0.20

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: 85f5ecb Previous: d2ddfa0 Ratio
Regex_Lower_S_Or_Upper_S_Asterisk 4.247443750000457 ns/iter 4.085105468748043 ns/iter 1.04
Regex_Caret_Lower_S_Or_Upper_S_Asterisk_Dollar 4.173048124999923 ns/iter 4.720299787323866 ns/iter 0.88
Regex_Period_Asterisk 4.951749018961646 ns/iter 4.088636391230293 ns/iter 1.21
Regex_Group_Period_Asterisk_Group 4.557026975418504 ns/iter 4.709237287296651 ns/iter 0.97
Regex_Period_Plus 4.513751126146096 ns/iter 4.396137500000918 ns/iter 1.03
Regex_Period 4.536723091539386 ns/iter 4.395946874998913 ns/iter 1.03
Regex_Caret_Period_Plus_Dollar 4.206132500000592 ns/iter 5.028388999999152 ns/iter 0.84
Regex_Caret_Group_Period_Plus_Group_Dollar 4.027996064235825 ns/iter 5.027220000001762 ns/iter 0.80
Regex_Caret_Period_Asterisk_Dollar 4.522500792466498 ns/iter 4.714549889444077 ns/iter 0.96
Regex_Caret_Group_Period_Asterisk_Group_Dollar 4.514341517857393 ns/iter 4.771468381142566 ns/iter 0.95
Regex_Caret_X_Hyphen 8.127129464285638 ns/iter 7.864791929173853 ns/iter 1.03
Regex_Period_Md_Dollar 39.68490321006526 ns/iter 35.21178634306748 ns/iter 1.13
Regex_Caret_Slash_Period_Asterisk 7.996909598213214 ns/iter 7.837489955357618 ns/iter 1.02
Regex_Caret_Period_Range_Dollar 4.512203203205868 ns/iter 4.711767867661656 ns/iter 0.96
Regex_Nested_Backtrack 106.16367187502362 ns/iter 96.10735491070801 ns/iter 1.10
JSON_Array_Of_Objects_Unique 484.97177823088646 ns/iter 496.22997022471793 ns/iter 0.98
JSON_Parse_1 73383.1361607175 ns/iter 72848.73883927544 ns/iter 1.01
JSON_Parse_Real 93144.38194723197 ns/iter 93128.98084909038 ns/iter 1.00
JSON_Parse_Decimal 331473.72298623377 ns/iter 327316.6324436191 ns/iter 1.01
JSON_Fast_Hash_Helm_Chart_Lock 67.32942857143242 ns/iter 68.68316964284662 ns/iter 0.98
JSON_Equality_Helm_Chart_Lock 246.20290778987604 ns/iter 262.8487751271549 ns/iter 0.94
JSON_String_Equal/10 11.787954687498825 ns/iter 12.281764285717145 ns/iter 0.96
JSON_String_Equal/100 13.280644642857656 ns/iter 13.942420250257154 ns/iter 0.95
JSON_String_Equal_Small_By_Perfect_Hash/10 2.193737500000026 ns/iter 1.8853510731117316 ns/iter 1.16
JSON_String_Equal_Small_By_Runtime_Perfect_Hash/10 12.60534107143079 ns/iter 12.86805892856689 ns/iter 0.98
JSON_String_Fast_Hash/10 3.7631024932805905 ns/iter 3.7903828124998182 ns/iter 0.99
JSON_String_Fast_Hash/100 3.768198743271474 ns/iter 3.7842645089268343 ns/iter 1.00
JSON_String_Key_Hash/10 3.7904448146603076 ns/iter 4.4011735694636185 ns/iter 0.86
JSON_String_Key_Hash/100 16.277011160715304 ns/iter 13.858969357777703 ns/iter 1.17
JSON_Object_Defines_Miss_Same_Length 4.721069876610116 ns/iter 3.7760907083874655 ns/iter 1.25
JSON_Object_Defines_Miss_Too_Small 3.773230468750047 ns/iter 3.7814067789632375 ns/iter 1.00
JSON_Object_Defines_Miss_Too_Large 4.722626796255183 ns/iter 3.7719674932640594 ns/iter 1.25
Pointer_Object_Traverse 51.16900000000442 ns/iter 51.10786999998709 ns/iter 1.00
Pointer_Object_Try_Traverse 69.54010044642546 ns/iter 73.25941964284408 ns/iter 0.95
Pointer_Push_Back_Pointer_To_Weak_Pointer 183.92366820744036 ns/iter 154.69852678577922 ns/iter 1.19
Schema_Frame_WoT_References 16724304.878047539 ns/iter
Schema_Frame_OMC_References 82049118.1818232 ns/iter 77065433.33334695 ns/iter 1.06
Schema_Frame_OMC_Locations 76565666.66666245 ns/iter 75254033.33334503 ns/iter 1.02
Schema_Frame_ISO_Language_Locations 337495849.99998206 ns/iter 309049000.00018644 ns/iter 1.09
Schema_Iterator_ISO_Language 15501290.000001973 ns/iter 12422624.999999244 ns/iter 1.25
Schema_PointerWalker_ISO_Language 10461795.312497912 ns/iter 9731690.624995792 ns/iter 1.08
Schema_Frame_ISO_Language_Locations_To_JSON 247425699.99997008 ns/iter 224941099.99994788 ns/iter 1.10
Schema_Tracker_ISO_Language 112672833.33332519 ns/iter 102327166.66663085 ns/iter 1.10
Schema_Tracker_ISO_Language_To_JSON 58781350.00000384 ns/iter 52149060.000010654 ns/iter 1.13
Schema_Format_ISO_Language_To_JSON 321578400.0000212 ns/iter 311604750.00001496 ns/iter 1.03
Schema_Bundle_Meta_2020_12 4327134.939754033 ns/iter 3834921.925120782 ns/iter 1.13
Alterschema_Check_Readibility_ISO_Language_Set_3 474549300.00003517 ns/iter 470698899.9998885 ns/iter 1.01
Alterschema_Check_Readibility_OMC 83492377.77777793 ns/iter 395838949.99987024 ns/iter 0.21

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: 85f5ecb Previous: d2ddfa0 Ratio
Regex_Lower_S_Or_Upper_S_Asterisk 2.3637583645610434 ns/iter 1.7624101203139853 ns/iter 1.34
Regex_Caret_Lower_S_Or_Upper_S_Asterisk_Dollar 1.8098003091943642 ns/iter 2.121004428067914 ns/iter 0.85
Regex_Period_Asterisk 1.7317663713051923 ns/iter 2.1388905668784406 ns/iter 0.81
Regex_Group_Period_Asterisk_Group 1.7232345141352727 ns/iter 2.161942820034622 ns/iter 0.80
Regex_Period_Plus 1.9924124380773094 ns/iter 2.5046810880209893 ns/iter 0.80
Regex_Period 2.0193823764673384 ns/iter 2.9286938195026746 ns/iter 0.69
Regex_Caret_Period_Plus_Dollar 2.0588203676488246 ns/iter 2.6764032392815387 ns/iter 0.77
Regex_Caret_Group_Period_Plus_Group_Dollar 2.1616273201049516 ns/iter 2.6099801346564475 ns/iter 0.83
Regex_Caret_Period_Asterisk_Dollar 1.6810489304861929 ns/iter 2.3652522090128403 ns/iter 0.71
Regex_Caret_Group_Period_Asterisk_Group_Dollar 1.7335294814170195 ns/iter 2.2350990863103393 ns/iter 0.78
Regex_Caret_X_Hyphen 7.432148749560803 ns/iter 7.834700139540282 ns/iter 0.95
Regex_Period_Md_Dollar 19.853243976380714 ns/iter 28.489291928812317 ns/iter 0.70
Regex_Caret_Slash_Period_Asterisk 5.496230830001424 ns/iter 5.977173557679099 ns/iter 0.92
Regex_Caret_Period_Range_Dollar 1.8710384122626789 ns/iter 1.841856663778294 ns/iter 1.02
Regex_Nested_Backtrack 32.13340452225081 ns/iter 30.84374482392273 ns/iter 1.04
JSON_Array_Of_Objects_Unique 464.26290647363646 ns/iter 368.2799599424518 ns/iter 1.26
JSON_Parse_1 24785.28405750388 ns/iter 21945.18737354699 ns/iter 1.13
JSON_Parse_Real 27904.519863015703 ns/iter 26354.980906580888 ns/iter 1.06
JSON_Parse_Decimal 282275.35094202583 ns/iter 315180.83422461845 ns/iter 0.90
JSON_Fast_Hash_Helm_Chart_Lock 73.58608200657511 ns/iter 69.75106278265675 ns/iter 1.05
JSON_Equality_Helm_Chart_Lock 165.23311225651784 ns/iter 151.42022084832868 ns/iter 1.09
JSON_String_Equal/10 7.97194567006567 ns/iter 7.8464144664325595 ns/iter 1.02
JSON_String_Equal/100 7.780393105492546 ns/iter 6.775378730694555 ns/iter 1.15
JSON_String_Equal_Small_By_Perfect_Hash/10 0.36723155743074765 ns/iter 0.37949275470559723 ns/iter 0.97
JSON_String_Equal_Small_By_Runtime_Perfect_Hash/10 3.239267354788958 ns/iter 4.254651104088516 ns/iter 0.76
JSON_String_Fast_Hash/10 2.3042410924362757 ns/iter 3.1710632586376004 ns/iter 0.73
JSON_String_Fast_Hash/100 2.1174256518737864 ns/iter 2.5647182491929725 ns/iter 0.83
JSON_String_Key_Hash/10 1.4423052609706426 ns/iter 1.7927331217863063 ns/iter 0.80
JSON_String_Key_Hash/100 2.127411533226137 ns/iter 2.6228985564150213 ns/iter 0.81
JSON_Object_Defines_Miss_Same_Length 2.6326214490943345 ns/iter 3.201154707609248 ns/iter 0.82
JSON_Object_Defines_Miss_Too_Small 2.7331193924453205 ns/iter 3.2538256414840014 ns/iter 0.84
JSON_Object_Defines_Miss_Too_Large 2.735476346530815 ns/iter 3.4933418615501557 ns/iter 0.78
Pointer_Object_Traverse 15.604680456249989 ns/iter 20.04802733732951 ns/iter 0.78
Pointer_Object_Try_Traverse 20.06343000091072 ns/iter 25.69859188819336 ns/iter 0.78
Pointer_Push_Back_Pointer_To_Weak_Pointer 175.6877266185417 ns/iter 177.43262124422418 ns/iter 0.99
Schema_Frame_WoT_References 7653156.887755006 ns/iter
Schema_Frame_OMC_References 44519205.749992356 ns/iter 45860784.294117205 ns/iter 0.97
Schema_Frame_OMC_Locations 39183013.15788516 ns/iter 38797872.375013754 ns/iter 1.01
Schema_Frame_ISO_Language_Locations 137737716.59998602 ns/iter 138556468.75003913 ns/iter 0.99
Schema_Iterator_ISO_Language 6996630.577319104 ns/iter 6404501.857141602 ns/iter 1.09
Schema_PointerWalker_ISO_Language 7400764.5056186 ns/iter 6574739.864865953 ns/iter 1.13
Schema_Frame_ISO_Language_Locations_To_JSON 106839166.7142805 ns/iter 95704611.16663863 ns/iter 1.12
Schema_Tracker_ISO_Language 42406086.35713475 ns/iter 42684169.117645815 ns/iter 0.99
Schema_Tracker_ISO_Language_To_JSON 14756963.638300223 ns/iter 16088903.97825808 ns/iter 0.92
Schema_Format_ISO_Language_To_JSON 140132567.00000057 ns/iter 167655676.75003013 ns/iter 0.84
Schema_Bundle_Meta_2020_12 1727726.2208145764 ns/iter 2201240.068532321 ns/iter 0.78
Alterschema_Check_Readibility_ISO_Language_Set_3 198384124.99999928 ns/iter 276475562.499968 ns/iter 0.72
Alterschema_Check_Readibility_OMC 49523473.21428923 ns/iter 293441472.33337027 ns/iter 0.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: 85f5ecb Previous: d2ddfa0 Ratio
Alterschema_Check_Readibility_ISO_Language_Set_3 310518724.49995697 ns/iter 301187101.00009596 ns/iter 1.03
Alterschema_Check_Readibility_OMC 45789979.99998744 ns/iter 194928315.750019 ns/iter 0.23
Schema_Frame_WoT_References 8316609.799997904 ns/iter
Schema_Frame_OMC_References 39806283.611104235 ns/iter 38447593.55556309 ns/iter 1.04
Schema_Frame_OMC_Locations 36480198.21053152 ns/iter 36402135.70000697 ns/iter 1.00
Schema_Frame_ISO_Language_Locations 196283988.9999941 ns/iter 165362670.75002798 ns/iter 1.19
Schema_Iterator_ISO_Language 7205840.6020409055 ns/iter 7174360.775509889 ns/iter 1.00
Schema_PointerWalker_ISO_Language 4432563.550632857 ns/iter 4361264.062111484 ns/iter 1.02
Schema_Frame_ISO_Language_Locations_To_JSON 276202810.0000104 ns/iter 272748881.3333518 ns/iter 1.01
Schema_Tracker_ISO_Language 49743310.642855115 ns/iter 47275143.933332704 ns/iter 1.05
Schema_Tracker_ISO_Language_To_JSON 33212356.666668016 ns/iter 32044934.636360265 ns/iter 1.04
Schema_Format_ISO_Language_To_JSON 198716064.2501067 ns/iter 173379449.4999188 ns/iter 1.15
Schema_Bundle_Meta_2020_12 2463478.0316840936 ns/iter 2424746.14878321 ns/iter 1.02
Pointer_Object_Traverse 47.19402949313828 ns/iter 47.89907164642739 ns/iter 0.99
Pointer_Object_Try_Traverse 23.05487791940144 ns/iter 23.042296850549228 ns/iter 1.00
Pointer_Push_Back_Pointer_To_Weak_Pointer 153.620871407094 ns/iter 134.54491232576618 ns/iter 1.14
JSON_Array_Of_Objects_Unique 397.8005804160348 ns/iter 397.1668830779413 ns/iter 1.00
JSON_Parse_1 32628.68645173888 ns/iter 32668.766228912416 ns/iter 1.00
JSON_Parse_Real 42983.454135252476 ns/iter 43353.82139096567 ns/iter 0.99
JSON_Parse_Decimal 155872.7674470446 ns/iter 158608.34559818334 ns/iter 0.98
JSON_Fast_Hash_Helm_Chart_Lock 60.12390826855241 ns/iter 49.547585594243344 ns/iter 1.21
JSON_Equality_Helm_Chart_Lock 160.52000864407364 ns/iter 156.96875233756114 ns/iter 1.02
JSON_String_Equal/10 6.93245878464899 ns/iter 6.614075687612402 ns/iter 1.05
JSON_String_Equal/100 7.557976274333944 ns/iter 7.237294396298214 ns/iter 1.04
JSON_String_Equal_Small_By_Perfect_Hash/10 0.9344607649527923 ns/iter 0.9341659088512477 ns/iter 1.00
JSON_String_Equal_Small_By_Runtime_Perfect_Hash/10 13.760618529460464 ns/iter 13.389895105128574 ns/iter 1.03
JSON_String_Fast_Hash/10 1.9044096936055463 ns/iter 1.9034033413961733 ns/iter 1.00
JSON_String_Fast_Hash/100 1.906077095300557 ns/iter 1.9041410765274642 ns/iter 1.00
JSON_String_Key_Hash/10 1.2449287488050038 ns/iter 2.535074064214261 ns/iter 0.49
JSON_String_Key_Hash/100 12.423499465301951 ns/iter 13.368953737436197 ns/iter 0.93
JSON_Object_Defines_Miss_Same_Length 2.487744003061391 ns/iter 2.4890932933744714 ns/iter 1.00
JSON_Object_Defines_Miss_Too_Small 2.4979901970590257 ns/iter 2.486598207532269 ns/iter 1.00
JSON_Object_Defines_Miss_Too_Large 2.489068388604835 ns/iter 2.487196407579049 ns/iter 1.00
Regex_Lower_S_Or_Upper_S_Asterisk 3.109047861415367 ns/iter 3.1081968368457082 ns/iter 1.00
Regex_Caret_Lower_S_Or_Upper_S_Asterisk_Dollar 3.1096898831777358 ns/iter 3.109613701657419 ns/iter 1.00
Regex_Period_Asterisk 3.1101602875191334 ns/iter 3.1090815474260247 ns/iter 1.00
Regex_Group_Period_Asterisk_Group 3.1298776898586174 ns/iter 3.109065772251692 ns/iter 1.01
Regex_Period_Plus 3.109004072105828 ns/iter 3.109297670788255 ns/iter 1.00
Regex_Period 3.1098075050438427 ns/iter 3.1112480765757393 ns/iter 1.00
Regex_Caret_Period_Plus_Dollar 3.110104866682527 ns/iter 3.1095696359546308 ns/iter 1.00
Regex_Caret_Group_Period_Plus_Group_Dollar 3.111575448904557 ns/iter 3.108453823598641 ns/iter 1.00
Regex_Caret_Period_Asterisk_Dollar 4.3634363080081116 ns/iter 4.353741125618878 ns/iter 1.00
Regex_Caret_Group_Period_Asterisk_Group_Dollar 4.350710776443597 ns/iter 4.352535317687345 ns/iter 1.00
Regex_Caret_X_Hyphen 13.06513730677578 ns/iter 13.682632778001285 ns/iter 0.95
Regex_Period_Md_Dollar 36.07961467778408 ns/iter 35.46509043613123 ns/iter 1.02
Regex_Caret_Slash_Period_Asterisk 8.84829719324287 ns/iter 9.336897428592746 ns/iter 0.95
Regex_Caret_Period_Range_Dollar 3.73276800143086 ns/iter 4.662668084357252 ns/iter 0.80
Regex_Nested_Backtrack 58.775803802723125 ns/iter 57.57613690943482 ns/iter 1.02

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

@jviotti jviotti force-pushed the orphan-definitions-without-instances branch 2 times, most recently from 01f6226 to fe4b092 Compare December 26, 2025 20:29
@jviotti jviotti changed the title [WIP] Refactor orphan_definitions to not rely on instance locations Refactor orphan_definitions to not rely on instance locations Dec 26, 2025
@jviotti jviotti marked this pull request as ready for review December 26, 2025 20:29
@jviotti jviotti force-pushed the orphan-definitions-without-instances branch 3 times, most recently from 6350d68 to 5e26ed5 Compare December 26, 2025 20:38
@augmentcode
Copy link

augmentcode bot commented Dec 26, 2025

🤖 Augment PR Summary

Summary: Refactors the orphan_definitions alter-schema rule to detect unused definitions via the schema reference graph instead of relying on instance-location analysis.

Changes:

  • Switches SchemaTransformer framing from Mode::Instances to Mode::References for check() and apply(), aligning with the new rule logic.
  • Reworks OrphanDefinitions to compute referenced $defs/definitions entries by walking SchemaFrame::references() and classifying references as internal/external to the container.
  • Adds GenericPointer::starts_with(prefix, tail) and starts_with(prefix, tail_left, tail_right) helpers to check container membership without allocating new pointers.
  • Extends JSON Pointer unit tests to cover the new starts_with overloads (single- and two-property tails, wrong prefix/tail, short pointer, index token cases).

Technical Notes: The new orphan detection keeps definitions that are transitively reachable from any reference originating outside the definitions container, and removes all definitions if the container is never referenced externally.

🤖 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. 1 suggestions posted.

Fix All in Augment

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

@jviotti jviotti force-pushed the orphan-definitions-without-instances branch from 5e26ed5 to 85f5ecb Compare December 26, 2025 20:50
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: 85f5ecb Previous: d2ddfa0 Ratio
Regex_Lower_S_Or_Upper_S_Asterisk 2.3496171296796824 ns/iter 2.3466726696212348 ns/iter 1.00
Regex_Caret_Lower_S_Or_Upper_S_Asterisk_Dollar 2.324478207907183 ns/iter 2.30337233744597 ns/iter 1.01
Regex_Period_Asterisk 2.3660489354491316 ns/iter 2.311558952229019 ns/iter 1.02
Regex_Group_Period_Asterisk_Group 2.250054724183494 ns/iter 2.5669930913547145 ns/iter 0.88
Regex_Period_Plus 2.349179478196625 ns/iter 2.7595653638626554 ns/iter 0.85
Regex_Period 2.3142969579366794 ns/iter 2.711225705111398 ns/iter 0.85
Regex_Caret_Period_Plus_Dollar 2.3433825495138443 ns/iter 3.0326548107300813 ns/iter 0.77
Regex_Caret_Group_Period_Plus_Group_Dollar 2.3151503174359966 ns/iter 2.807493445078567 ns/iter 0.82
Regex_Caret_Period_Asterisk_Dollar 2.2324973164697215 ns/iter 2.530442395156605 ns/iter 0.88
Regex_Caret_Group_Period_Asterisk_Group_Dollar 2.1880479731258147 ns/iter 2.7960375139951816 ns/iter 0.78
Regex_Caret_X_Hyphen 6.717587828155864 ns/iter 11.015985404354048 ns/iter 0.61
Regex_Period_Md_Dollar 22.076281046587717 ns/iter 32.38577331417299 ns/iter 0.68
Regex_Caret_Slash_Period_Asterisk 5.0632500648498535 ns/iter 6.796720069931015 ns/iter 0.74
Regex_Caret_Period_Range_Dollar 2.300510318470043 ns/iter 3.1813041159938966 ns/iter 0.72
Regex_Nested_Backtrack 46.55435356641727 ns/iter 58.78141761980209 ns/iter 0.79
JSON_Array_Of_Objects_Unique 275.2576763532071 ns/iter 404.2061691028774 ns/iter 0.68
JSON_Parse_1 24665.388714313824 ns/iter 28310.49181851417 ns/iter 0.87
JSON_Parse_Real 25718.139010148112 ns/iter 33218.71935960774 ns/iter 0.77
JSON_Parse_Decimal 269537.7428798832 ns/iter 354468.9732244296 ns/iter 0.76
JSON_Fast_Hash_Helm_Chart_Lock 34.28530815892028 ns/iter 43.640551691642564 ns/iter 0.79
JSON_Equality_Helm_Chart_Lock 129.72983029960355 ns/iter 154.45861444260214 ns/iter 0.84
JSON_String_Equal/10 6.052869779854081 ns/iter 7.126056783144943 ns/iter 0.85
JSON_String_Equal/100 5.640242164303418 ns/iter 7.057466800061328 ns/iter 0.80
JSON_String_Equal_Small_By_Perfect_Hash/10 0.8448807288594031 ns/iter 0.8846362514951387 ns/iter 0.96
JSON_String_Equal_Small_By_Runtime_Perfect_Hash/10 3.7890819811587493 ns/iter 4.1431857411051 ns/iter 0.91
JSON_String_Fast_Hash/10 2.008716125660519 ns/iter 2.5047216918733417 ns/iter 0.80
JSON_String_Fast_Hash/100 1.992022955316358 ns/iter 2.6633094905482877 ns/iter 0.75
JSON_String_Key_Hash/10 1.5735003740757554 ns/iter 2.0593984356915263 ns/iter 0.76
JSON_String_Key_Hash/100 2.740983592291168 ns/iter 3.8182464148485815 ns/iter 0.72
JSON_Object_Defines_Miss_Same_Length 1.9027876669238206 ns/iter 2.698230852746179 ns/iter 0.71
JSON_Object_Defines_Miss_Too_Small 1.8949425404579747 ns/iter 3.1012584154031635 ns/iter 0.61
JSON_Object_Defines_Miss_Too_Large 1.897271585337435 ns/iter 2.5865442806375536 ns/iter 0.73
Pointer_Object_Traverse 53.24120630758885 ns/iter 79.07647048070595 ns/iter 0.67
Pointer_Object_Try_Traverse 38.61897804584486 ns/iter 75.40321451141422 ns/iter 0.51
Pointer_Push_Back_Pointer_To_Weak_Pointer 167.72998137137495 ns/iter 237.29559454969143 ns/iter 0.71
Schema_Frame_WoT_References 8725014.226189975 ns/iter
Schema_Frame_OMC_References 44644339.87935384 ns/iter 79873394.96612549 ns/iter 0.56
Schema_Frame_OMC_Locations 41343556.51007758 ns/iter 84976673.1262207 ns/iter 0.49
Schema_Frame_ISO_Language_Locations 170700550.0793457 ns/iter 619909048.0804443 ns/iter 0.28
Schema_Iterator_ISO_Language 8275141.435510972 ns/iter 10403563.899378622 ns/iter 0.80
Schema_PointerWalker_ISO_Language 9575042.459699843 ns/iter 18854618.072509766 ns/iter 0.51
Schema_Frame_ISO_Language_Locations_To_JSON 160048782.82546997 ns/iter 306151986.12213135 ns/iter 0.52
Schema_Tracker_ISO_Language 44322420.56902717 ns/iter 66272211.0748291 ns/iter 0.67
Schema_Tracker_ISO_Language_To_JSON 26527357.10144043 ns/iter 34323381.34102199 ns/iter 0.77
Schema_Format_ISO_Language_To_JSON 187766253.94821167 ns/iter 212130626.04268393 ns/iter 0.89
Schema_Bundle_Meta_2020_12 2035943.5746836108 ns/iter 2527892.209921673 ns/iter 0.81
Alterschema_Check_Readibility_ISO_Language_Set_3 217654943.46618652 ns/iter 380540490.15045166 ns/iter 0.57
Alterschema_Check_Readibility_OMC 43834552.16884613 ns/iter 272406737.00968426 ns/iter 0.16

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

@jviotti jviotti merged commit 9985d96 into main Dec 26, 2025
13 checks passed
@jviotti jviotti deleted the orphan-definitions-without-instances branch December 26, 2025 22:57
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