Skip to content

Conversation

@jviotti
Copy link
Member

@jviotti jviotti commented Jan 9, 2026

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

@augmentcode
Copy link

augmentcode bot commented Jan 9, 2026

🤖 Augment PR Summary

Summary: Prevent sourcemeta::core::dependencies() from emitting duplicate dependencies when the same external schema is referenced multiple times.

Changes:

  • Track visited schema identifiers as owned std::string values during traversal (fixes std::string_view lifetime-related duplication).
  • Add regression tests for repeated refs within a schema and for sibling schemas that share a downstream dependency.

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

@jviotti jviotti merged commit 991a4c8 into main Jan 9, 2026
13 checks passed
@jviotti jviotti deleted the dependencies-duplicates branch January 9, 2026 13: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 (linux/llvm)

Details
Benchmark suite Current: b0e02c9 Previous: 8c41142 Ratio
Regex_Lower_S_Or_Upper_S_Asterisk 3.5164379398949803 ns/iter 3.1080570131983074 ns/iter 1.13
Regex_Caret_Lower_S_Or_Upper_S_Asterisk_Dollar 3.5140840342846684 ns/iter 3.1155782954172593 ns/iter 1.13
Regex_Period_Asterisk 3.566718752979505 ns/iter 3.106667205447003 ns/iter 1.15
Regex_Group_Period_Asterisk_Group 3.5382066432891177 ns/iter 3.108389722803548 ns/iter 1.14
Regex_Period_Plus 3.5163357859061715 ns/iter 2.9962035069965633 ns/iter 1.17
Regex_Period 3.5160682968417247 ns/iter 3.1029959989301643 ns/iter 1.13
Regex_Caret_Period_Plus_Dollar 3.5156923844293924 ns/iter 2.9929966135977746 ns/iter 1.17
Regex_Caret_Group_Period_Plus_Group_Dollar 3.5243880616909125 ns/iter 2.9981997910996587 ns/iter 1.18
Regex_Caret_Period_Asterisk_Dollar 3.517368006589382 ns/iter 3.1090644416079383 ns/iter 1.13
Regex_Caret_Group_Period_Asterisk_Group_Dollar 3.5179345250386183 ns/iter 3.3741206852725636 ns/iter 1.04
Regex_Caret_X_Hyphen 11.9500584064867 ns/iter 10.264102804094971 ns/iter 1.16
Regex_Period_Md_Dollar 26.37708309366644 ns/iter 27.646765183973052 ns/iter 0.95
Regex_Caret_Slash_Period_Asterisk 7.383686028327687 ns/iter 6.2153712661719 ns/iter 1.19
Regex_Caret_Period_Range_Dollar 3.516390335115115 ns/iter 3.728586035887062 ns/iter 0.94
Regex_Nested_Backtrack 47.028402201012284 ns/iter 48.88251932316395 ns/iter 0.96
JSON_Array_Of_Objects_Unique 445.423478322967 ns/iter 434.300468490538 ns/iter 1.03
JSON_Parse_1 28593.54440863402 ns/iter 29034.432473001703 ns/iter 0.98
JSON_Parse_Real 35377.25833753109 ns/iter 37763.7660067936 ns/iter 0.94
JSON_Parse_Decimal 122441.75021894513 ns/iter 129667.26239822293 ns/iter 0.94
JSON_Fast_Hash_Helm_Chart_Lock 74.74625234164166 ns/iter 62.487853934155076 ns/iter 1.20
JSON_Equality_Helm_Chart_Lock 164.8338707376683 ns/iter 163.23748952701564 ns/iter 1.01
JSON_String_Equal/10 8.087353082133864 ns/iter 6.851213356315849 ns/iter 1.18
JSON_String_Equal/100 8.789253923664193 ns/iter 7.5066291052414496 ns/iter 1.17
JSON_String_Equal_Small_By_Perfect_Hash/10 1.0587204194656665 ns/iter 0.9573453274900425 ns/iter 1.11
JSON_String_Equal_Small_By_Runtime_Perfect_Hash/10 12.297872508652299 ns/iter 10.260639641780234 ns/iter 1.20
JSON_String_Fast_Hash/10 2.461221735601226 ns/iter 2.4959615086332567 ns/iter 0.99
JSON_String_Fast_Hash/100 2.461672845718907 ns/iter 2.488850743627464 ns/iter 0.99
JSON_String_Key_Hash/10 2.813598455628211 ns/iter 2.49272902837527 ns/iter 1.13
JSON_String_Key_Hash/100 7.733913576198954 ns/iter 6.536292758105883 ns/iter 1.18
JSON_Object_Defines_Miss_Same_Length 4.218667965186795 ns/iter 3.733692124003965 ns/iter 1.13
JSON_Object_Defines_Miss_Too_Small 4.218072420631703 ns/iter 3.7381505313903953 ns/iter 1.13
JSON_Object_Defines_Miss_Too_Large 4.218888217522501 ns/iter 3.7358448472358936 ns/iter 1.13
Pointer_Object_Traverse 48.04290941129148 ns/iter 46.08941745406196 ns/iter 1.04
Pointer_Object_Try_Traverse 49.27721510514136 ns/iter 53.85611714616442 ns/iter 0.91
Pointer_Push_Back_Pointer_To_Weak_Pointer 367.03477827607617 ns/iter 344.66609443836444 ns/iter 1.06
Pointer_Walker_Schema_ISO_Language 3338303.7857144396 ns/iter 3163511.7918550633 ns/iter 1.06
Schema_Frame_WoT_References 5209561.485074445 ns/iter 5100564.642335305 ns/iter 1.02
Schema_Frame_OMC_References 22878251.838707704 ns/iter 22394806.93548367 ns/iter 1.02
Schema_Frame_OMC_Locations 20799786.911762863 ns/iter 20376062.941178426 ns/iter 1.02
Schema_Frame_ISO_Language_Locations 114862773.00000438 ns/iter 111638085.66665997 ns/iter 1.03
Schema_Iterator_ISO_Language 2389444.8677965864 ns/iter 2333543.846153881 ns/iter 1.02
Schema_Frame_ISO_Language_Locations_To_JSON 144236570.4999986 ns/iter 133886631.75001624 ns/iter 1.08
Schema_Tracker_ISO_Language 49725301.78571332 ns/iter 50262544.89999928 ns/iter 0.99
Schema_Tracker_ISO_Language_To_JSON 25167461.370373264 ns/iter 25237135.35714072 ns/iter 1.00
Schema_Format_ISO_Language_To_JSON 120090160.39996822 ns/iter 120289929.00000428 ns/iter 1.00
Schema_Bundle_Meta_2020_12 2110063.33434073 ns/iter 2094749.6996984442 ns/iter 1.01
Alterschema_Check_Readibility_ISO_Language_Set_3 216565632.00000772 ns/iter 220783065.6666753 ns/iter 0.98
Alterschema_Check_Readibility_OMC 27636690.39999968 ns/iter 28244340.67999846 ns/iter 0.98
URITemplateRouter_Create 15791.330372640221 ns/iter 17012.413948949208 ns/iter 0.93
URITemplateRouter_Match 185.57988134946558 ns/iter 167.72634326425933 ns/iter 1.11
URITemplateRouterView_Restore 9246.39144555394 ns/iter 8344.19224919761 ns/iter 1.11
URITemplateRouterView_Match 139.48153372163532 ns/iter 119.32720132802636 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 (macos/llvm)

Details
Benchmark suite Current: b0e02c9 Previous: 8c41142 Ratio
Regex_Lower_S_Or_Upper_S_Asterisk 2.783569576560626 ns/iter 1.787841306604332 ns/iter 1.56
Regex_Caret_Lower_S_Or_Upper_S_Asterisk_Dollar 2.341193194650168 ns/iter 1.8869824227835117 ns/iter 1.24
Regex_Period_Asterisk 2.5747129866934846 ns/iter 1.7245443048630484 ns/iter 1.49
Regex_Group_Period_Asterisk_Group 2.595107378267765 ns/iter 1.732307408314068 ns/iter 1.50
Regex_Period_Plus 3.143896534106774 ns/iter 2.265265113767866 ns/iter 1.39
Regex_Period 3.147922152556511 ns/iter 2.1776968279974143 ns/iter 1.45
Regex_Caret_Period_Plus_Dollar 3.054463414569434 ns/iter 2.182327113470874 ns/iter 1.40
Regex_Caret_Group_Period_Plus_Group_Dollar 2.9081772193264466 ns/iter 2.150874579741267 ns/iter 1.35
Regex_Caret_Period_Asterisk_Dollar 2.423540586705823 ns/iter 1.7843735431667322 ns/iter 1.36
Regex_Caret_Group_Period_Asterisk_Group_Dollar 2.3255421656936806 ns/iter 2.173253710632058 ns/iter 1.07
Regex_Caret_X_Hyphen 8.62299326076591 ns/iter 7.797184167777325 ns/iter 1.11
Regex_Period_Md_Dollar 31.66853658394179 ns/iter 23.16615596676965 ns/iter 1.37
Regex_Caret_Slash_Period_Asterisk 7.3848307393020365 ns/iter 5.404433140401374 ns/iter 1.37
Regex_Caret_Period_Range_Dollar 2.3188447546080044 ns/iter 1.776148218358398 ns/iter 1.31
Regex_Nested_Backtrack 38.31365636676923 ns/iter 29.289365572018845 ns/iter 1.31
JSON_Array_Of_Objects_Unique 483.0149450174678 ns/iter 407.3490638293397 ns/iter 1.19
JSON_Parse_1 29984.426201423197 ns/iter 26276.732194651544 ns/iter 1.14
JSON_Parse_Real 31504.116166973923 ns/iter 27794.10042575444 ns/iter 1.13
JSON_Parse_Decimal 307107.03383632784 ns/iter 380262.7347183086 ns/iter 0.81
JSON_Fast_Hash_Helm_Chart_Lock 64.13302344659905 ns/iter 68.79016627540032 ns/iter 0.93
JSON_Equality_Helm_Chart_Lock 163.01860260288723 ns/iter 158.25702346814455 ns/iter 1.03
JSON_String_Equal/10 9.342379240147038 ns/iter 7.256543203959149 ns/iter 1.29
JSON_String_Equal/100 9.745521279310147 ns/iter 7.448105504075955 ns/iter 1.31
JSON_String_Equal_Small_By_Perfect_Hash/10 0.4079498572136522 ns/iter 0.37338791686260997 ns/iter 1.09
JSON_String_Equal_Small_By_Runtime_Perfect_Hash/10 4.453020379916456 ns/iter 3.9967750124270096 ns/iter 1.11
JSON_String_Fast_Hash/10 2.8318873868363856 ns/iter 2.5686191176683977 ns/iter 1.10
JSON_String_Fast_Hash/100 2.725985498105851 ns/iter 2.151676263608639 ns/iter 1.27
JSON_String_Key_Hash/10 2.042070849729436 ns/iter 1.9532823190379862 ns/iter 1.05
JSON_String_Key_Hash/100 2.787675450867211 ns/iter 2.1819418375996245 ns/iter 1.28
JSON_Object_Defines_Miss_Same_Length 3.2512493968546896 ns/iter 2.743367469609178 ns/iter 1.19
JSON_Object_Defines_Miss_Too_Small 3.18630023091037 ns/iter 2.7652770353454947 ns/iter 1.15
JSON_Object_Defines_Miss_Too_Large 3.377257483986978 ns/iter 2.8543709192048343 ns/iter 1.18
Pointer_Object_Traverse 16.830972665634047 ns/iter 15.258310003665542 ns/iter 1.10
Pointer_Object_Try_Traverse 21.470338817928734 ns/iter 19.78467406500885 ns/iter 1.09
Pointer_Push_Back_Pointer_To_Weak_Pointer 189.60653693952543 ns/iter 161.7731188246298 ns/iter 1.17
Pointer_Walker_Schema_ISO_Language 6655709.158415916 ns/iter 4673411.073825861 ns/iter 1.42
Schema_Frame_WoT_References 5337147.773195622 ns/iter 5076943.750000282 ns/iter 1.05
Schema_Frame_OMC_References 35565833.3333373 ns/iter 25153716.07407562 ns/iter 1.41
Schema_Frame_OMC_Locations 38202796.05262936 ns/iter 22964719.466669217 ns/iter 1.66
Schema_Frame_ISO_Language_Locations 106847222.16666387 ns/iter 82045573.00000204 ns/iter 1.30
Schema_Iterator_ISO_Language 2393964.9746374516 ns/iter 2095072.8851963102 ns/iter 1.14
Schema_Frame_ISO_Language_Locations_To_JSON 103429597.33333147 ns/iter 80179432.37500447 ns/iter 1.29
Schema_Tracker_ISO_Language 55662202.42856649 ns/iter 39949516.22222389 ns/iter 1.39
Schema_Tracker_ISO_Language_To_JSON 15186715.909090316 ns/iter 14422733.00000004 ns/iter 1.05
Schema_Format_ISO_Language_To_JSON 88508187.49997795 ns/iter 83969849.12499762 ns/iter 1.05
Schema_Bundle_Meta_2020_12 1932413.532428372 ns/iter 1725024.0000079747 ns/iter 1.12
Alterschema_Check_Readibility_ISO_Language_Set_3 167271729.2499897 ns/iter 151970074.99998564 ns/iter 1.10
Alterschema_Check_Readibility_OMC 37032591.70000024 ns/iter 28138076.68000209 ns/iter 1.32
URITemplateRouter_Create 19091.966241176455 ns/iter 16292.765611358234 ns/iter 1.17
URITemplateRouter_Match 202.55091276004114 ns/iter 162.72374668401966 ns/iter 1.24
URITemplateRouterView_Restore 11330.890456056555 ns/iter 9355.082454484453 ns/iter 1.21
URITemplateRouterView_Match 133.57638441328768 ns/iter 115.29903366839102 ns/iter 1.16

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: b0e02c9 Previous: 8c41142 Ratio
Regex_Lower_S_Or_Upper_S_Asterisk 4.750950680248474 ns/iter 5.929483928570432 ns/iter 0.80
Regex_Caret_Lower_S_Or_Upper_S_Asterisk_Dollar 4.408601874999363 ns/iter 5.458122947647078 ns/iter 0.81
Regex_Period_Asterisk 4.120697060930016 ns/iter 5.036457654001268 ns/iter 0.82
Regex_Group_Period_Asterisk_Group 4.090402364245319 ns/iter 4.9735968749999415 ns/iter 0.82
Regex_Period_Plus 4.413962408744222 ns/iter 5.277826351066915 ns/iter 0.84
Regex_Period 4.406983047214283 ns/iter 5.265642199253934 ns/iter 0.84
Regex_Caret_Period_Plus_Dollar 4.409528315066403 ns/iter 5.953473124999675 ns/iter 0.74
Regex_Caret_Group_Period_Plus_Group_Dollar 4.4090382927460166 ns/iter 5.514643000001342 ns/iter 0.80
Regex_Caret_Period_Asterisk_Dollar 4.138277239532262 ns/iter 5.215534821427273 ns/iter 0.79
Regex_Caret_Group_Period_Asterisk_Group_Dollar 4.101804129463815 ns/iter 4.92445956380162 ns/iter 0.83
Regex_Caret_X_Hyphen 7.55624910714354 ns/iter 9.271747321428895 ns/iter 0.81
Regex_Period_Md_Dollar 34.80007696072049 ns/iter 42.236919315671585 ns/iter 0.82
Regex_Caret_Slash_Period_Asterisk 7.231662946430058 ns/iter 7.256743749999422 ns/iter 1.00
Regex_Caret_Period_Range_Dollar 4.718509831961842 ns/iter 4.73484576949703 ns/iter 1.00
Regex_Nested_Backtrack 97.54610725239115 ns/iter 96.77426353685283 ns/iter 1.01
JSON_Array_Of_Objects_Unique 467.97459106571273 ns/iter 460.65833866288943 ns/iter 1.02
JSON_Parse_1 74551.6629464506 ns/iter 73131.41741072114 ns/iter 1.02
JSON_Parse_Real 92941.02049015755 ns/iter 91601.5802865787 ns/iter 1.01
JSON_Parse_Decimal 335845.48133597424 ns/iter 340077.25872686174 ns/iter 0.99
JSON_Fast_Hash_Helm_Chart_Lock 54.17758035715028 ns/iter 51.30676000001131 ns/iter 1.06
JSON_Equality_Helm_Chart_Lock 294.02004754243893 ns/iter 286.4085139996323 ns/iter 1.03
JSON_String_Equal/10 13.508117857144596 ns/iter 13.46790892856932 ns/iter 1.00
JSON_String_Equal/100 14.774174934041278 ns/iter 15.406577609794278 ns/iter 0.96
JSON_String_Equal_Small_By_Perfect_Hash/10 2.1988281250003183 ns/iter 2.1947852654071687 ns/iter 1.00
JSON_String_Equal_Small_By_Runtime_Perfect_Hash/10 12.608856250000855 ns/iter 12.941898214283551 ns/iter 0.97
JSON_String_Fast_Hash/10 3.454666377759897 ns/iter 3.5272729742608924 ns/iter 0.98
JSON_String_Fast_Hash/100 3.449176199197618 ns/iter 3.522250798067962 ns/iter 0.98
JSON_String_Key_Hash/10 4.407319007034995 ns/iter 4.478694374999748 ns/iter 0.98
JSON_String_Key_Hash/100 16.38441517857002 ns/iter 14.19509926698917 ns/iter 1.15
JSON_Object_Defines_Miss_Same_Length 3.7701353504099417 ns/iter 3.826838727677893 ns/iter 0.99
JSON_Object_Defines_Miss_Too_Small 3.79045927894529 ns/iter 3.7635123147083087 ns/iter 1.01
JSON_Object_Defines_Miss_Too_Large 3.85936445739395 ns/iter 3.7654842789896037 ns/iter 1.02
Pointer_Object_Traverse 51.92784999999276 ns/iter 51.78283000000192 ns/iter 1.00
Pointer_Object_Try_Traverse 66.54931249999306 ns/iter 66.8724821428514 ns/iter 1.00
Pointer_Push_Back_Pointer_To_Weak_Pointer 214.39671875000954 ns/iter 149.39908482141107 ns/iter 1.44
Pointer_Walker_Schema_ISO_Language 11347780.357141346 ns/iter 11110170.312498724 ns/iter 1.02
Schema_Frame_WoT_References 11395954.687500875 ns/iter 11171396.874999573 ns/iter 1.02
Schema_Frame_OMC_References 50484720.00000857 ns/iter 52105510.00000124 ns/iter 0.97
Schema_Frame_OMC_Locations 47981379.999995016 ns/iter 48084457.142863356 ns/iter 1.00
Schema_Frame_ISO_Language_Locations 216134600.00003216 ns/iter 264770566.66666007 ns/iter 0.82
Schema_Iterator_ISO_Language 4220834.337350272 ns/iter 4498958.12500074 ns/iter 0.94
Schema_Frame_ISO_Language_Locations_To_JSON 250568533.33338344 ns/iter 1321638100.0002003 ns/iter 0.19
Schema_Tracker_ISO_Language 102762299.99999487 ns/iter 278825433.3333195 ns/iter 0.37
Schema_Tracker_ISO_Language_To_JSON 55412649.999993846 ns/iter 142791883.3333403 ns/iter 0.39
Schema_Format_ISO_Language_To_JSON 224190700.00008407 ns/iter 596345000.0001558 ns/iter 0.38
Schema_Bundle_Meta_2020_12 4147365.697669324 ns/iter 10528134.6666834 ns/iter 0.39
Alterschema_Check_Readibility_ISO_Language_Set_3 337524150.00003564 ns/iter 923673699.9998811 ns/iter 0.37
Alterschema_Check_Readibility_OMC 58614290.90908711 ns/iter 161355539.9999768 ns/iter 0.36
URITemplateRouter_Create 23223.87250142192 ns/iter 49992.357142859386 ns/iter 0.46
URITemplateRouter_Match 208.7569505019078 ns/iter 283.3533563996454 ns/iter 0.74
URITemplateRouterView_Restore 31190.241316427397 ns/iter 45466.8035732583 ns/iter 0.69
URITemplateRouterView_Match 155.22518280244492 ns/iter 227.3569999999836 ns/iter 0.68

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: b0e02c9 Previous: 8c41142 Ratio
URITemplateRouter_Create 14531.057437134887 ns/iter 14919.249840675888 ns/iter 0.97
URITemplateRouter_Match 158.6807409618054 ns/iter 157.88911371172705 ns/iter 1.01
URITemplateRouterView_Restore 8187.946641910885 ns/iter 8491.330796324588 ns/iter 0.96
URITemplateRouterView_Match 121.29606656586516 ns/iter 119.82063137018592 ns/iter 1.01
Alterschema_Check_Readibility_ISO_Language_Set_3 209662129.6666399 ns/iter 256804855.99999276 ns/iter 0.82
Alterschema_Check_Readibility_OMC 28898532.24000035 ns/iter 35410759.24999859 ns/iter 0.82
Schema_Frame_WoT_References 5476571.17968825 ns/iter 5865288.558334215 ns/iter 0.93
Schema_Frame_OMC_References 22913802.06451498 ns/iter 27225151.359998565 ns/iter 0.84
Schema_Frame_OMC_Locations 21348667.81818456 ns/iter 24956547.68965543 ns/iter 0.86
Schema_Frame_ISO_Language_Locations 109570521.1666503 ns/iter 126824128.99998781 ns/iter 0.86
Schema_Iterator_ISO_Language 2531042.0905796397 ns/iter 2614313.4372624466 ns/iter 0.97
Schema_Frame_ISO_Language_Locations_To_JSON 295386385.3332829 ns/iter 321346228.00003856 ns/iter 0.92
Schema_Tracker_ISO_Language 48260465.92857633 ns/iter 55517794.692307755 ns/iter 0.87
Schema_Tracker_ISO_Language_To_JSON 33020478.13636736 ns/iter 42605605.500000365 ns/iter 0.78
Schema_Format_ISO_Language_To_JSON 117494428.16668914 ns/iter 134748781.3999578 ns/iter 0.87
Schema_Bundle_Meta_2020_12 2290974.2466982594 ns/iter 2330676.430007467 ns/iter 0.98
Pointer_Object_Traverse 48.28525410668083 ns/iter 49.5446701128634 ns/iter 0.97
Pointer_Object_Try_Traverse 26.286161402485543 ns/iter 23.387519729828053 ns/iter 1.12
Pointer_Push_Back_Pointer_To_Weak_Pointer 161.54795835451668 ns/iter 163.99215454132337 ns/iter 0.99
Pointer_Walker_Schema_ISO_Language 3483116.9353240407 ns/iter 3934038.286516124 ns/iter 0.89
JSON_Array_Of_Objects_Unique 422.7622501159071 ns/iter 435.9797980744501 ns/iter 0.97
JSON_Parse_1 32917.95605481812 ns/iter 32927.361141236936 ns/iter 1.00
JSON_Parse_Real 43487.57134852636 ns/iter 43265.03012495969 ns/iter 1.01
JSON_Parse_Decimal 156932.366039443 ns/iter 156960.47440811986 ns/iter 1.00
JSON_Fast_Hash_Helm_Chart_Lock 64.53558858090301 ns/iter 60.52669345760466 ns/iter 1.07
JSON_Equality_Helm_Chart_Lock 160.37662513322834 ns/iter 150.85320475563228 ns/iter 1.06
JSON_String_Equal/10 7.546236003913676 ns/iter 6.348372971088737 ns/iter 1.19
JSON_String_Equal/100 7.25098619891084 ns/iter 6.97150547831246 ns/iter 1.04
JSON_String_Equal_Small_By_Perfect_Hash/10 0.6233764888902936 ns/iter 0.625023640643108 ns/iter 1.00
JSON_String_Equal_Small_By_Runtime_Perfect_Hash/10 27.78672405305549 ns/iter 19.578605126328394 ns/iter 1.42
JSON_String_Fast_Hash/10 2.255092271434081 ns/iter 2.256178372069959 ns/iter 1.00
JSON_String_Fast_Hash/100 2.355572147972681 ns/iter 2.2551030033766084 ns/iter 1.04
JSON_String_Key_Hash/10 1.2461797180167733 ns/iter 1.2468029560331249 ns/iter 1.00
JSON_String_Key_Hash/100 12.433954283560938 ns/iter 12.43399482241883 ns/iter 1.00
JSON_Object_Defines_Miss_Same_Length 2.4905827558397333 ns/iter 2.4882711000073217 ns/iter 1.00
JSON_Object_Defines_Miss_Too_Small 2.804045116232578 ns/iter 2.4880661784359877 ns/iter 1.13
JSON_Object_Defines_Miss_Too_Large 2.5050384155330296 ns/iter 2.495480583357573 ns/iter 1.00
Regex_Lower_S_Or_Upper_S_Asterisk 3.1147752874291688 ns/iter 3.126941950866297 ns/iter 1.00
Regex_Caret_Lower_S_Or_Upper_S_Asterisk_Dollar 3.1140501873618165 ns/iter 3.1104932466364517 ns/iter 1.00
Regex_Period_Asterisk 3.110704082519818 ns/iter 3.1150093814913262 ns/iter 1.00
Regex_Group_Period_Asterisk_Group 3.110806793067282 ns/iter 3.111012975217979 ns/iter 1.00
Regex_Period_Plus 3.0181844293721722 ns/iter 2.7995133277216686 ns/iter 1.08
Regex_Period 2.799132356931578 ns/iter 2.8003071169477893 ns/iter 1.00
Regex_Caret_Period_Plus_Dollar 2.8001000990569884 ns/iter 2.8008405137942844 ns/iter 1.00
Regex_Caret_Group_Period_Plus_Group_Dollar 2.799522168680794 ns/iter 2.7993347512147255 ns/iter 1.00
Regex_Caret_Period_Asterisk_Dollar 3.4258858517498387 ns/iter 4.042772311146474 ns/iter 0.85
Regex_Caret_Group_Period_Asterisk_Group_Dollar 3.4301692530591135 ns/iter 4.04206451043648 ns/iter 0.85
Regex_Caret_X_Hyphen 9.644833637047013 ns/iter 13.06034751198075 ns/iter 0.74
Regex_Period_Md_Dollar 34.909850711655295 ns/iter 36.92264537983579 ns/iter 0.95
Regex_Caret_Slash_Period_Asterisk 8.396469967179929 ns/iter 8.709221294532043 ns/iter 0.96
Regex_Caret_Period_Range_Dollar 4.6641837124963015 ns/iter 4.052091298499161 ns/iter 1.15
Regex_Nested_Backtrack 63.878969429576806 ns/iter 62.64595707244937 ns/iter 1.02

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: b0e02c9 Previous: 8c41142 Ratio
Regex_Lower_S_Or_Upper_S_Asterisk 2.2203485861405543 ns/iter 3.003963150504751 ns/iter 0.74
Regex_Caret_Lower_S_Or_Upper_S_Asterisk_Dollar 2.2068736873664765 ns/iter 3.029015666125835 ns/iter 0.73
Regex_Period_Asterisk 2.3739785422753013 ns/iter 3.3672305467276615 ns/iter 0.71
Regex_Group_Period_Asterisk_Group 2.571537120038241 ns/iter 2.773417098527926 ns/iter 0.93
Regex_Period_Plus 2.5686911286030187 ns/iter 2.9196367242476726 ns/iter 0.88
Regex_Period 2.6165627050614626 ns/iter 3.361673823391856 ns/iter 0.78
Regex_Caret_Period_Plus_Dollar 2.6182422452835823 ns/iter 3.509111975227003 ns/iter 0.75
Regex_Caret_Group_Period_Plus_Group_Dollar 2.5123514668928646 ns/iter 3.14153032364003 ns/iter 0.80
Regex_Caret_Period_Asterisk_Dollar 2.683427387780673 ns/iter 3.053600218823041 ns/iter 0.88
Regex_Caret_Group_Period_Asterisk_Group_Dollar 2.635116590765901 ns/iter 3.0878778992132236 ns/iter 0.85
Regex_Caret_X_Hyphen 7.963831572090896 ns/iter 8.394579077669741 ns/iter 0.95
Regex_Period_Md_Dollar 27.332020742533754 ns/iter 29.413512641911904 ns/iter 0.93
Regex_Caret_Slash_Period_Asterisk 5.812949282300876 ns/iter 6.074519281773207 ns/iter 0.96
Regex_Caret_Period_Range_Dollar 2.3859087388047735 ns/iter 2.823416560136266 ns/iter 0.85
Regex_Nested_Backtrack 48.51952768577258 ns/iter 56.938267099981914 ns/iter 0.85
JSON_Array_Of_Objects_Unique 287.15470017710265 ns/iter 365.5684515181788 ns/iter 0.79
JSON_Parse_1 24800.055529634792 ns/iter 28103.680002743662 ns/iter 0.88
JSON_Parse_Real 26545.81686194501 ns/iter 38998.22124239662 ns/iter 0.68
JSON_Parse_Decimal 288294.4082187033 ns/iter 546220.064163208 ns/iter 0.53
JSON_Fast_Hash_Helm_Chart_Lock 34.846057159071314 ns/iter 57.88350022031509 ns/iter 0.60
JSON_Equality_Helm_Chart_Lock 129.69051181212814 ns/iter 177.10485616240965 ns/iter 0.73
JSON_String_Equal/10 5.895406865648847 ns/iter 6.995202229144496 ns/iter 0.84
JSON_String_Equal/100 5.873565553052037 ns/iter 7.750567231246163 ns/iter 0.76
JSON_String_Equal_Small_By_Perfect_Hash/10 0.9019306431220209 ns/iter 0.9645651108270074 ns/iter 0.94
JSON_String_Equal_Small_By_Runtime_Perfect_Hash/10 4.176478161306506 ns/iter 4.962338414530993 ns/iter 0.84
JSON_String_Fast_Hash/10 2.158462739097207 ns/iter 2.476568751276896 ns/iter 0.87
JSON_String_Fast_Hash/100 2.176885896927565 ns/iter 2.4129343039443976 ns/iter 0.90
JSON_String_Key_Hash/10 1.7620852367502489 ns/iter 1.9406458888763862 ns/iter 0.91
JSON_String_Key_Hash/100 3.2040616424522415 ns/iter 4.6005717179873304 ns/iter 0.70
JSON_Object_Defines_Miss_Same_Length 2.4526949279253625 ns/iter 2.9574972075356665 ns/iter 0.83
JSON_Object_Defines_Miss_Too_Small 2.407456549765427 ns/iter 3.061169694003538 ns/iter 0.79
JSON_Object_Defines_Miss_Too_Large 2.3932170429163913 ns/iter 2.5262903829446195 ns/iter 0.95
Pointer_Object_Traverse 57.716213496658206 ns/iter 79.51644856734937 ns/iter 0.73
Pointer_Object_Try_Traverse 40.01160020873178 ns/iter 57.58677644455451 ns/iter 0.69
Pointer_Push_Back_Pointer_To_Weak_Pointer 177.95804516392965 ns/iter 284.3352601883283 ns/iter 0.63
Pointer_Walker_Schema_ISO_Language 4361073.176066081 ns/iter 6382716.1131234 ns/iter 0.68
Schema_Frame_WoT_References 4728655.557374696 ns/iter 7465115.9089187095 ns/iter 0.63
Schema_Frame_OMC_References 25782072.98561379 ns/iter 40070891.38031006 ns/iter 0.64
Schema_Frame_OMC_Locations 24989826.925869647 ns/iter 36942411.871517405 ns/iter 0.68
Schema_Frame_ISO_Language_Locations 95236573.90049526 ns/iter 149672985.0769043 ns/iter 0.64
Schema_Iterator_ISO_Language 2738337.767751593 ns/iter 3145895.065210117 ns/iter 0.87
Schema_Frame_ISO_Language_Locations_To_JSON 190434773.76302084 ns/iter 314065098.7625122 ns/iter 0.61
Schema_Tracker_ISO_Language 45721650.12359619 ns/iter 60153802.23592123 ns/iter 0.76
Schema_Tracker_ISO_Language_To_JSON 30082759.403047107 ns/iter 43959052.93916401 ns/iter 0.68
Schema_Format_ISO_Language_To_JSON 115171154.34010823 ns/iter 141015052.79541016 ns/iter 0.82
Schema_Bundle_Meta_2020_12 1955975.9311575107 ns/iter 2138494.767925956 ns/iter 0.91
Alterschema_Check_Readibility_ISO_Language_Set_3 187339782.71484375 ns/iter 257344325.38350424 ns/iter 0.73
Alterschema_Check_Readibility_OMC 34264707.56530762 ns/iter 55843400.955200195 ns/iter 0.61
URITemplateRouter_Create 16639.778336146002 ns/iter 19732.638522311372 ns/iter 0.84
URITemplateRouter_Match 196.64686405563702 ns/iter 239.98688496231657 ns/iter 0.82
URITemplateRouterView_Restore 11904.984961725604 ns/iter 15842.476894690764 ns/iter 0.75
URITemplateRouterView_Match 130.00540689192778 ns/iter 160.169099439044 ns/iter 0.81

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

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

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants