Skip to content

Optimise SchemaFrame::is_reachable even more#2235

Open
jviotti wants to merge 1 commit intomainfrom
faster-lookups
Open

Optimise SchemaFrame::is_reachable even more#2235
jviotti wants to merge 1 commit intomainfrom
faster-lookups

Conversation

@jviotti
Copy link
Member

@jviotti jviotti commented Feb 4, 2026

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

Copy link

@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.

No issues found across 1 file

@augmentcode
Copy link

augmentcode bot commented Feb 4, 2026

🤖 Augment PR Summary

Summary: Optimizes reachability computation used by SchemaFrame::is_reachable.

Changes: Simplifies populate_reachability by removing the per-node pointer_to_location_ lookup and directly caching visited pointers as reachable during the BFS.

🤖 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: 20ede50 Previous: 8067ad9 Ratio
Regex_Lower_S_Or_Upper_S_Asterisk 3.1098006134158935 ns/iter 3.1115964849924715 ns/iter 1.00
Regex_Caret_Lower_S_Or_Upper_S_Asterisk_Dollar 3.1096639228613308 ns/iter 3.108054784153943 ns/iter 1.00
Regex_Period_Asterisk 3.108206676824528 ns/iter 3.1177720722728948 ns/iter 1.00
Regex_Group_Period_Asterisk_Group 3.107688674644519 ns/iter 3.108330842246196 ns/iter 1.00
Regex_Period_Plus 2.8494000428265935 ns/iter 2.970279647199943 ns/iter 0.96
Regex_Period 3.1087939005773535 ns/iter 3.108144406825973 ns/iter 1.00
Regex_Caret_Period_Plus_Dollar 3.016037170924077 ns/iter 3.108075643769968 ns/iter 0.97
Regex_Caret_Group_Period_Plus_Group_Dollar 2.857723908187209 ns/iter 3.1084020436687765 ns/iter 0.92
Regex_Caret_Period_Asterisk_Dollar 3.4203686535196383 ns/iter 3.107564691462162 ns/iter 1.10
Regex_Caret_Group_Period_Asterisk_Group_Dollar 3.111125025554412 ns/iter 3.1101262610208953 ns/iter 1.00
Regex_Caret_X_Hyphen 10.667846715641193 ns/iter 12.4295292648775 ns/iter 0.86
Regex_Period_Md_Dollar 27.645958725234316 ns/iter 27.190261125808476 ns/iter 1.02
Regex_Caret_Slash_Period_Asterisk 6.2183815609626265 ns/iter 7.150373051209081 ns/iter 0.87
Regex_Caret_Period_Range_Dollar 3.7301641387516273 ns/iter 4.04286388758269 ns/iter 0.92
Regex_Nested_Backtrack 49.23518639820545 ns/iter 49.09638973427969 ns/iter 1.00
JSON_Array_Of_Objects_Unique 438.0838963282988 ns/iter 440.4537653769874 ns/iter 0.99
JSON_Parse_1 29330.66181127176 ns/iter 29164.47548080703 ns/iter 1.01
JSON_Parse_Real 38358.13885552202 ns/iter 38758.789040335425 ns/iter 0.99
JSON_Parse_Decimal 128865.16406105824 ns/iter 130447.71335807024 ns/iter 0.99
JSON_Parse_Schema_ISO_Language 22170818.548385885 ns/iter 22084060.781249803 ns/iter 1.00
JSON_Fast_Hash_Helm_Chart_Lock 62.22115123408056 ns/iter 62.44275311674462 ns/iter 1.00
JSON_Equality_Helm_Chart_Lock 163.8770638966743 ns/iter 165.3043974345624 ns/iter 0.99
JSON_String_Equal/10 8.109923680582913 ns/iter 6.846953440854442 ns/iter 1.18
JSON_String_Equal/100 8.713603410180774 ns/iter 7.479070028216693 ns/iter 1.17
JSON_String_Equal_Small_By_Perfect_Hash/10 0.9377508483504382 ns/iter 0.9385097149462337 ns/iter 1.00
JSON_String_Equal_Small_By_Runtime_Perfect_Hash/10 10.260496907843406 ns/iter 14.625225615116369 ns/iter 0.70
JSON_String_Fast_Hash/10 2.487988141362343 ns/iter 2.4963082826223286 ns/iter 1.00
JSON_String_Fast_Hash/100 2.49362931269367 ns/iter 2.486454576906642 ns/iter 1.00
JSON_String_Key_Hash/10 2.4922286478235343 ns/iter 2.715533307186007 ns/iter 0.92
JSON_String_Key_Hash/100 6.535844157851941 ns/iter 9.014737180237614 ns/iter 0.73
JSON_Object_Defines_Miss_Same_Length 3.737910132240461 ns/iter 3.739942029091793 ns/iter 1.00
JSON_Object_Defines_Miss_Too_Small 3.7371206734344544 ns/iter 3.8700333270110754 ns/iter 0.97
JSON_Object_Defines_Miss_Too_Large 3.7361867179599644 ns/iter 3.7427609420104404 ns/iter 1.00
Pointer_Object_Traverse 42.39414096223482 ns/iter 43.90673063229975 ns/iter 0.97
Pointer_Object_Try_Traverse 53.50602504107622 ns/iter 53.22727888170056 ns/iter 1.01
Pointer_Push_Back_Pointer_To_Weak_Pointer 302.4466733991196 ns/iter 356.5152638789109 ns/iter 0.85
Pointer_Walker_Schema_ISO_Language 3076988.623893641 ns/iter 3102356.4133334323 ns/iter 0.99
Schema_Frame_WoT_References 4828799.758621275 ns/iter 4828376.125000015 ns/iter 1.00
Schema_Frame_OMC_References 19869529.228571992 ns/iter 19967551.799998417 ns/iter 1.00
Schema_Frame_OMC_Locations 18243357.657895915 ns/iter 18397978.394737516 ns/iter 0.99
Schema_Frame_ISO_Language_Locations 97707575.50001007 ns/iter 95928559.66667457 ns/iter 1.02
Schema_Frame_KrakenD_References 37243752.421055004 ns/iter 37253165.73684268 ns/iter 1.00
Schema_Frame_KrakenD_Reachable 578174795.9999847 ns/iter 875955859.0001006 ns/iter 0.66
Schema_Iterator_ISO_Language 2288571.540983509 ns/iter 2386038.353535301 ns/iter 0.96
Schema_Frame_ISO_Language_Locations_To_JSON 131937033.7500061 ns/iter 132251929.99999535 ns/iter 1.00
Schema_Tracker_ISO_Language 44315920.87500036 ns/iter 46027968.3333359 ns/iter 0.96
Schema_Tracker_ISO_Language_To_JSON 21956399.0624998 ns/iter 22251872.419356886 ns/iter 0.99
Schema_Format_ISO_Language_To_JSON 105479943.71428819 ns/iter 101698474.33333719 ns/iter 1.04
Schema_Bundle_Meta_2020_12 2055151.6117627537 ns/iter 2026749.442198494 ns/iter 1.01
Schema_Frame_Many_Resources_References 361859565.4999694 ns/iter 350585777.0000489 ns/iter 1.03
Alterschema_Check_Readibility_ISO_Language_Set_3 207236074.66667697 ns/iter 209404477.33335078 ns/iter 0.99
Alterschema_Check_Readibility_OMC 32060861.50000105 ns/iter 30510488.86956541 ns/iter 1.05
Alterschema_Apply_Readibility_KrakenD 583718727.0000186 ns/iter 557068448.9999849 ns/iter 1.05
EditorSchema_ForEditor_EmbeddedResources 13438424.745091276 ns/iter 13234071.83017823 ns/iter 1.02
URITemplateRouter_Create 16335.308575428613 ns/iter 17321.866243127228 ns/iter 0.94
URITemplateRouter_Match 174.6138524481821 ns/iter 173.47257544524462 ns/iter 1.01
URITemplateRouterView_Restore 8128.8621255554435 ns/iter 8235.87720347708 ns/iter 0.99
URITemplateRouterView_Match 121.07628223804707 ns/iter 139.25253725086094 ns/iter 0.87

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: 20ede50 Previous: 8067ad9 Ratio
Regex_Lower_S_Or_Upper_S_Asterisk 1.8305126253026387 ns/iter 1.7319633476720524 ns/iter 1.06
Regex_Caret_Lower_S_Or_Upper_S_Asterisk_Dollar 1.9268062608137764 ns/iter 1.736430649601609 ns/iter 1.11
Regex_Period_Asterisk 1.9767370808537905 ns/iter 1.7238316869808874 ns/iter 1.15
Regex_Group_Period_Asterisk_Group 1.9533878241054 ns/iter 1.7244486653113023 ns/iter 1.13
Regex_Period_Plus 2.4330195454433903 ns/iter 2.0740973253693236 ns/iter 1.17
Regex_Period 2.434961155042645 ns/iter 2.097873431490437 ns/iter 1.16
Regex_Caret_Period_Plus_Dollar 2.265875342632414 ns/iter 2.084720640370414 ns/iter 1.09
Regex_Caret_Group_Period_Plus_Group_Dollar 2.1606846104625217 ns/iter 2.0790355409592527 ns/iter 1.04
Regex_Caret_Period_Asterisk_Dollar 1.8483589292334133 ns/iter 1.8524506334769166 ns/iter 1.00
Regex_Caret_Group_Period_Asterisk_Group_Dollar 2.077239573800132 ns/iter 1.9642659190853875 ns/iter 1.06
Regex_Caret_X_Hyphen 7.431290252807183 ns/iter 6.663250659241413 ns/iter 1.12
Regex_Period_Md_Dollar 22.39291573816931 ns/iter 22.143236990530745 ns/iter 1.01
Regex_Caret_Slash_Period_Asterisk 5.896402513731941 ns/iter 5.613611487771818 ns/iter 1.05
Regex_Caret_Period_Range_Dollar 1.9589848402050527 ns/iter 1.7930722221984077 ns/iter 1.09
Regex_Nested_Backtrack 31.192361650194254 ns/iter 29.28050804275546 ns/iter 1.07
JSON_Array_Of_Objects_Unique 446.52962919698666 ns/iter 358.48962385212013 ns/iter 1.25
JSON_Parse_1 25294.001346748955 ns/iter 21418.69330023061 ns/iter 1.18
JSON_Parse_Real 30209.630590839293 ns/iter 25877.240395808403 ns/iter 1.17
JSON_Parse_Decimal 351653.44076020434 ns/iter 308602.9290705878 ns/iter 1.14
JSON_Parse_Schema_ISO_Language 16968111.12820703 ns/iter 17660532.787235364 ns/iter 0.96
JSON_Fast_Hash_Helm_Chart_Lock 69.01197762383056 ns/iter 60.556599638403576 ns/iter 1.14
JSON_Equality_Helm_Chart_Lock 176.75268163378726 ns/iter 137.13078703206244 ns/iter 1.29
JSON_String_Equal/10 7.458234194761154 ns/iter 7.024937645528331 ns/iter 1.06
JSON_String_Equal/100 7.379397234042729 ns/iter 6.744988140860664 ns/iter 1.09
JSON_String_Equal_Small_By_Perfect_Hash/10 0.36963339221500796 ns/iter 0.3408373919590166 ns/iter 1.08
JSON_String_Equal_Small_By_Runtime_Perfect_Hash/10 3.5580643961135174 ns/iter 3.3558626644657137 ns/iter 1.06
JSON_String_Fast_Hash/10 2.482079375993847 ns/iter 2.4118166040597404 ns/iter 1.03
JSON_String_Fast_Hash/100 2.1303805121315693 ns/iter 2.079548325703293 ns/iter 1.02
JSON_String_Key_Hash/10 1.449592139536452 ns/iter 1.3748983565293584 ns/iter 1.05
JSON_String_Key_Hash/100 2.3608724304798288 ns/iter 2.165471769370313 ns/iter 1.09
JSON_Object_Defines_Miss_Same_Length 2.906122352509313 ns/iter 2.75022145615668 ns/iter 1.06
JSON_Object_Defines_Miss_Too_Small 2.8044183633277937 ns/iter 2.7500366179097706 ns/iter 1.02
JSON_Object_Defines_Miss_Too_Large 3.2720590044606666 ns/iter 3.0783839564686826 ns/iter 1.06
Pointer_Object_Traverse 20.571798528480514 ns/iter 16.44427106826571 ns/iter 1.25
Pointer_Object_Try_Traverse 29.089968584102113 ns/iter 21.4871195416626 ns/iter 1.35
Pointer_Push_Back_Pointer_To_Weak_Pointer 193.88560190924363 ns/iter 159.1361132040538 ns/iter 1.22
Pointer_Walker_Schema_ISO_Language 5164216.463414065 ns/iter 4414563.790123934 ns/iter 1.17
Schema_Frame_WoT_References 6995206.262411344 ns/iter 4869353.758170059 ns/iter 1.44
Schema_Frame_OMC_References 26174089.518513534 ns/iter 22849319.903226357 ns/iter 1.15
Schema_Frame_OMC_Locations 24777757.590909872 ns/iter 21414594.69696932 ns/iter 1.16
Schema_Frame_ISO_Language_Locations 90103755.24999858 ns/iter 76874013.8888941 ns/iter 1.17
Schema_Frame_KrakenD_References 76377354.19998536 ns/iter 43680994.81249743 ns/iter 1.75
Schema_Frame_KrakenD_Reachable 506113625.00012547 ns/iter 433294979.4999195 ns/iter 1.17
Schema_Iterator_ISO_Language 2732182.3122673067 ns/iter 2096294.1616764925 ns/iter 1.30
Schema_Frame_ISO_Language_Locations_To_JSON 116511952.42857933 ns/iter 82358661.99999641 ns/iter 1.41
Schema_Tracker_ISO_Language 54749805.53332595 ns/iter 37581131.944446295 ns/iter 1.46
Schema_Tracker_ISO_Language_To_JSON 21402059.37499786 ns/iter 15062929.9574464 ns/iter 1.42
Schema_Format_ISO_Language_To_JSON 121516074.80004713 ns/iter 80953990.77775608 ns/iter 1.50
Schema_Bundle_Meta_2020_12 2216119.3411781876 ns/iter 1620229.4218738342 ns/iter 1.37
Schema_Frame_Many_Resources_References 468667416.5000113 ns/iter 264857138.66668448 ns/iter 1.77
Alterschema_Check_Readibility_ISO_Language_Set_3 222170388.9999844 ns/iter 153449583.39999264 ns/iter 1.45
Alterschema_Check_Readibility_OMC 47622099.30770321 ns/iter 29374725.708332032 ns/iter 1.62
Alterschema_Apply_Readibility_KrakenD 626635415.9999992 ns/iter 425198770.99999803 ns/iter 1.47
EditorSchema_ForEditor_EmbeddedResources 14881143.962289777 ns/iter 10516791.686570028 ns/iter 1.41
URITemplateRouter_Create 22337.526187004925 ns/iter 16334.6309652046 ns/iter 1.37
URITemplateRouter_Match 237.66352454293533 ns/iter 165.1328021428902 ns/iter 1.44
URITemplateRouterView_Restore 14044.355669874949 ns/iter 9630.32008647961 ns/iter 1.46
URITemplateRouterView_Match 137.3684798933586 ns/iter 114.37333773341487 ns/iter 1.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: 20ede50 Previous: 8067ad9 Ratio
Regex_Lower_S_Or_Upper_S_Asterisk 4.516759374999424 ns/iter 4.75071697488965 ns/iter 0.95
Regex_Caret_Lower_S_Or_Upper_S_Asterisk_Dollar 4.093682016238308 ns/iter 4.4111587499997995 ns/iter 0.93
Regex_Period_Asterisk 3.775941421830905 ns/iter 4.092239931208462 ns/iter 0.92
Regex_Group_Period_Asterisk_Group 3.7764798146842047 ns/iter 4.104263668043319 ns/iter 0.92
Regex_Period_Plus 3.7713289896437954 ns/iter 4.402285624999536 ns/iter 0.86
Regex_Period 3.780958386105652 ns/iter 4.416921373083476 ns/iter 0.86
Regex_Caret_Period_Plus_Dollar 3.8531406249983235 ns/iter 4.620284519904849 ns/iter 0.83
Regex_Caret_Group_Period_Plus_Group_Dollar 3.774689732140806 ns/iter 4.423707721239248 ns/iter 0.85
Regex_Caret_Period_Asterisk_Dollar 3.77535706999393 ns/iter 4.119636168069962 ns/iter 0.92
Regex_Caret_Group_Period_Asterisk_Group_Dollar 3.7772303503968994 ns/iter 4.127503489513305 ns/iter 0.92
Regex_Caret_X_Hyphen 7.556164062500718 ns/iter 7.63378749999991 ns/iter 0.99
Regex_Period_Md_Dollar 35.28268771015738 ns/iter 35.5668457244052 ns/iter 0.99
Regex_Caret_Slash_Period_Asterisk 7.229789285714462 ns/iter 7.359303571427793 ns/iter 0.98
Regex_Caret_Period_Range_Dollar 4.7334334927099775 ns/iter 4.81007277859338 ns/iter 0.98
Regex_Nested_Backtrack 106.41008899951925 ns/iter 101.09443745114189 ns/iter 1.05
JSON_Array_Of_Objects_Unique 458.8026628205688 ns/iter 511.0385000000406 ns/iter 0.90
JSON_Parse_1 73723.89508927109 ns/iter 74599.94419643274 ns/iter 0.99
JSON_Parse_Real 95312.5351547338 ns/iter 93956.44837285682 ns/iter 1.01
JSON_Parse_Decimal 332400.3438112863 ns/iter 348395.432219974 ns/iter 0.95
JSON_Parse_Schema_ISO_Language 57688036.36361884 ns/iter 57641663.63635261 ns/iter 1.00
JSON_Fast_Hash_Helm_Chart_Lock 54.20459821428786 ns/iter 72.23310714284789 ns/iter 0.75
JSON_Equality_Helm_Chart_Lock 265.27749844989427 ns/iter 295.35882641082077 ns/iter 0.90
JSON_String_Equal/10 12.562912499999715 ns/iter 13.218318021344771 ns/iter 0.95
JSON_String_Equal/100 14.200021141970758 ns/iter 14.47617248001937 ns/iter 0.98
JSON_String_Equal_Small_By_Perfect_Hash/10 2.2026037499998097 ns/iter 2.2047153124994168 ns/iter 1.00
JSON_String_Equal_Small_By_Runtime_Perfect_Hash/10 12.628958928571267 ns/iter 12.851736772985959 ns/iter 0.98
JSON_String_Fast_Hash/10 3.447000261700466 ns/iter 4.198997686069162 ns/iter 0.82
JSON_String_Fast_Hash/100 3.4516736553204526 ns/iter 4.148528087765429 ns/iter 0.83
JSON_String_Key_Hash/10 4.405412500000239 ns/iter 4.443028993552122 ns/iter 0.99
JSON_String_Key_Hash/100 16.37339185464229 ns/iter 13.766301785714015 ns/iter 1.19
JSON_Object_Defines_Miss_Same_Length 3.8354346360074403 ns/iter 3.770251674106717 ns/iter 1.02
JSON_Object_Defines_Miss_Too_Small 3.7777848146841824 ns/iter 3.7723269575492604 ns/iter 1.00
JSON_Object_Defines_Miss_Too_Large 3.7748394575439117 ns/iter 3.766563058036354 ns/iter 1.00
Pointer_Object_Traverse 52.20106000001579 ns/iter 50.74498214284518 ns/iter 1.03
Pointer_Object_Try_Traverse 66.50426785715321 ns/iter 75.68032142856396 ns/iter 0.88
Pointer_Push_Back_Pointer_To_Weak_Pointer 170.0821341572093 ns/iter 147.5560179662926 ns/iter 1.15
Pointer_Walker_Schema_ISO_Language 11054873.437501555 ns/iter 9201131.24999844 ns/iter 1.20
Schema_Frame_WoT_References 9833046.875002082 ns/iter 9609889.333335862 ns/iter 1.02
Schema_Frame_OMC_References 45129426.666668825 ns/iter 42288874.999997005 ns/iter 1.07
Schema_Frame_OMC_Locations 42772799.99999283 ns/iter 38384089.47369412 ns/iter 1.11
Schema_Frame_ISO_Language_Locations 208771066.66663775 ns/iter 203635533.3333783 ns/iter 1.03
Schema_Frame_KrakenD_References 96385328.5714192 ns/iter 92628328.57143621 ns/iter 1.04
Schema_Frame_KrakenD_Reachable 550857499.9998927 ns/iter 667795500.0000111 ns/iter 0.82
Schema_Iterator_ISO_Language 4312340.000001313 ns/iter 4310028.124999122 ns/iter 1.00
Schema_Frame_ISO_Language_Locations_To_JSON 269142199.99995714 ns/iter 266812433.3333708 ns/iter 1.01
Schema_Tracker_ISO_Language 100703142.85712811 ns/iter 100727642.85713935 ns/iter 1.00
Schema_Tracker_ISO_Language_To_JSON 56168680.00001887 ns/iter 55193989.999997936 ns/iter 1.02
Schema_Format_ISO_Language_To_JSON 205920066.66659775 ns/iter 195638074.99997666 ns/iter 1.05
Schema_Bundle_Meta_2020_12 3999142.4581119786 ns/iter 3988215.3846123493 ns/iter 1.00
Schema_Frame_Many_Resources_References 1485472899.999877 ns/iter 1472942100.0001822 ns/iter 1.01
Alterschema_Check_Readibility_ISO_Language_Set_3 337954200.0000129 ns/iter 329560950.0000864 ns/iter 1.03
Alterschema_Check_Readibility_OMC 62199527.27273762 ns/iter 57531072.7272567 ns/iter 1.08
Alterschema_Apply_Readibility_KrakenD 1018638299.9995658 ns/iter 955774399.999882 ns/iter 1.07
EditorSchema_ForEditor_EmbeddedResources 28019154.54547684 ns/iter 27335863.636370625 ns/iter 1.02
URITemplateRouter_Create 22304.55312499657 ns/iter 21989.415625000674 ns/iter 1.01
URITemplateRouter_Match 203.5886962682599 ns/iter 211.75185438609992 ns/iter 0.96
URITemplateRouterView_Restore 32992.52332066545 ns/iter 31287.709821421162 ns/iter 1.05
URITemplateRouterView_Match 139.60710983904423 ns/iter 139.00746428573387 ns/iter 1.00

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: 20ede50 Previous: 8067ad9 Ratio
URITemplateRouter_Create 15059.334918028786 ns/iter 14867.138335337397 ns/iter 1.01
URITemplateRouter_Match 160.53411628528815 ns/iter 174.26593562973443 ns/iter 0.92
URITemplateRouterView_Restore 8391.992337163327 ns/iter 8172.475295612427 ns/iter 1.03
URITemplateRouterView_Match 143.16560360400595 ns/iter 116.56179432406478 ns/iter 1.23
EditorSchema_ForEditor_EmbeddedResources 14370704.958281523 ns/iter 14096445.700001825 ns/iter 1.02
Alterschema_Check_Readibility_ISO_Language_Set_3 216753703.66680607 ns/iter 213554513.33329257 ns/iter 1.01
Alterschema_Check_Readibility_OMC 35524759.14998467 ns/iter 33677998.47619392 ns/iter 1.05
Alterschema_Apply_Readibility_KrakenD 644060233.9998804 ns/iter 619666989.0000521 ns/iter 1.04
Schema_Frame_WoT_References 5369393.190837838 ns/iter 5315943.878787438 ns/iter 1.01
Schema_Frame_OMC_References 22727669.9333288 ns/iter 21760460.484846123 ns/iter 1.04
Schema_Frame_OMC_Locations 21290764.06061248 ns/iter 20053715.885712467 ns/iter 1.06
Schema_Frame_ISO_Language_Locations 107434167.85719872 ns/iter 104609841.16665864 ns/iter 1.03
Schema_Frame_KrakenD_References 44504531.37499721 ns/iter 40842843.58822622 ns/iter 1.09
Schema_Frame_KrakenD_Reachable 658010447.9999136 ns/iter 758498372.0000764 ns/iter 0.87
Schema_Iterator_ISO_Language 2554563.428571989 ns/iter 2808370.9243023675 ns/iter 0.91
Schema_Frame_ISO_Language_Locations_To_JSON 303831554.9999879 ns/iter 298710872.50000983 ns/iter 1.02
Schema_Tracker_ISO_Language 50524197.499998994 ns/iter 48556973.80000189 ns/iter 1.04
Schema_Tracker_ISO_Language_To_JSON 34455245.84999476 ns/iter 32682043.333330683 ns/iter 1.05
Schema_Format_ISO_Language_To_JSON 115120145.66649972 ns/iter 109931572.33334236 ns/iter 1.05
Schema_Bundle_Meta_2020_12 2258991.096449267 ns/iter 2248001.5451551042 ns/iter 1.00
Schema_Frame_Many_Resources_References 397008124.4999619 ns/iter 375958330.49999785 ns/iter 1.06
Pointer_Object_Traverse 49.078206370077226 ns/iter 50.891428615731954 ns/iter 0.96
Pointer_Object_Try_Traverse 24.480804324364733 ns/iter 28.124036670879047 ns/iter 0.87
Pointer_Push_Back_Pointer_To_Weak_Pointer 160.8190763349407 ns/iter 160.4411327113701 ns/iter 1.00
Pointer_Walker_Schema_ISO_Language 3477185.1039592307 ns/iter 3464439.009950812 ns/iter 1.00
JSON_Array_Of_Objects_Unique 398.49769431233767 ns/iter 427.3565692532157 ns/iter 0.93
JSON_Parse_1 33210.01464059981 ns/iter 33275.78078747862 ns/iter 1.00
JSON_Parse_Real 44202.65139935121 ns/iter 45633.0508309412 ns/iter 0.97
JSON_Parse_Decimal 155977.97542620313 ns/iter 157077.9630624606 ns/iter 0.99
JSON_Parse_Schema_ISO_Language 22385357.967733957 ns/iter 22674416.741929527 ns/iter 0.99
JSON_Fast_Hash_Helm_Chart_Lock 52.660999626670105 ns/iter 59.78251857207416 ns/iter 0.88
JSON_Equality_Helm_Chart_Lock 167.60637494800847 ns/iter 164.19501631266934 ns/iter 1.02
JSON_String_Equal/10 6.9272063355252005 ns/iter 6.578621843788838 ns/iter 1.05
JSON_String_Equal/100 7.546534702428011 ns/iter 7.203401367132902 ns/iter 1.05
JSON_String_Equal_Small_By_Perfect_Hash/10 0.6229628053214815 ns/iter 0.6230843057565246 ns/iter 1.00
JSON_String_Equal_Small_By_Runtime_Perfect_Hash/10 14.922714296126136 ns/iter 14.923913122454897 ns/iter 1.00
JSON_String_Fast_Hash/10 1.9066133435057042 ns/iter 2.252862096246697 ns/iter 0.85
JSON_String_Fast_Hash/100 1.9059431922873489 ns/iter 2.253152829314956 ns/iter 0.85
JSON_String_Key_Hash/10 1.245362212238908 ns/iter 1.2452780728149535 ns/iter 1.00
JSON_String_Key_Hash/100 12.426681655953752 ns/iter 12.436142713141964 ns/iter 1.00
JSON_Object_Defines_Miss_Same_Length 2.8033076045610965 ns/iter 2.4870219733915433 ns/iter 1.13
JSON_Object_Defines_Miss_Too_Small 2.7999295887552536 ns/iter 2.487273956687314 ns/iter 1.13
JSON_Object_Defines_Miss_Too_Large 2.810201135986791 ns/iter 2.4900521851237873 ns/iter 1.13
Regex_Lower_S_Or_Upper_S_Asterisk 3.418283539153892 ns/iter 3.4214990448907727 ns/iter 1.00
Regex_Caret_Lower_S_Or_Upper_S_Asterisk_Dollar 3.4199957167088417 ns/iter 3.421110900524554 ns/iter 1.00
Regex_Period_Asterisk 3.4212521601833568 ns/iter 3.4190456346140463 ns/iter 1.00
Regex_Group_Period_Asterisk_Group 3.421677098451358 ns/iter 3.419597270564496 ns/iter 1.00
Regex_Period_Plus 3.433201409828676 ns/iter 3.419280366742094 ns/iter 1.00
Regex_Period 3.421686180099491 ns/iter 3.4250292745105693 ns/iter 1.00
Regex_Caret_Period_Plus_Dollar 3.108018598243244 ns/iter 3.4220789917793404 ns/iter 0.91
Regex_Caret_Group_Period_Plus_Group_Dollar 3.1100315088641755 ns/iter 3.425042809890446 ns/iter 0.91
Regex_Caret_Period_Asterisk_Dollar 3.73172518155256 ns/iter 3.428773072568721 ns/iter 1.09
Regex_Caret_Group_Period_Asterisk_Group_Dollar 3.7297595939939483 ns/iter 3.4195957997074005 ns/iter 1.09
Regex_Caret_X_Hyphen 13.685111229877153 ns/iter 13.686411379969135 ns/iter 1.00
Regex_Period_Md_Dollar 36.334372980438985 ns/iter 36.98165581225511 ns/iter 0.98
Regex_Caret_Slash_Period_Asterisk 8.711465076684208 ns/iter 9.02359213517729 ns/iter 0.97
Regex_Caret_Period_Range_Dollar 3.566993378602239 ns/iter 4.661939291202917 ns/iter 0.77
Regex_Nested_Backtrack 61.09565018896997 ns/iter 60.516611573460544 ns/iter 1.01

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

Signed-off-by: Juan Cruz Viotti <jv@jviotti.com>
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