Skip to content

Conversation

@jviotti
Copy link
Member

@jviotti jviotti commented Jan 7, 2026

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

Signed-off-by: Juan Cruz Viotti <jv@jviotti.com>
@jviotti jviotti force-pushed the linter-fix-pointers branch from 62b3008 to 36c00d2 Compare January 7, 2026 19:03
@augmentcode
Copy link

augmentcode bot commented Jan 7, 2026

🤖 Augment PR Summary

Summary: Fixes a bug where AlterSchema linter transforms could remove keywords even when those keywords were the target of a schema reference.

Changes:

  • Switch reference-guard checks from location.relative_pointer to location.pointer when calling SchemaFrame::has_references_through / has_references_to.
  • Apply the fix across multiple common + linter rules (e.g., additionalProperties, contentSchema, items, propertyNames, unevaluated*, and various if/then/else rules).
  • Update UnnecessaryAllOfWrapper to use absolute pointers when checking for direct references to allOf entries.

Why: SchemaFrame reference maps resolve destinations to absolute document pointers; using a relative pointer can fail (notably inside nested resources with their own $id), causing the linter to incorrectly treat referenced keywords as unreferenced.

Technical Notes: Adds regression tests ensuring these keywords are preserved when referenced from within nested $id-scoped resources (including cases like nested#/items and local #/keyword refs).

🤖 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: 36c00d2 Previous: 9bdf8bd Ratio
Regex_Lower_S_Or_Upper_S_Asterisk 2.020444968446217 ns/iter 3.1091667783729253 ns/iter 0.65
Regex_Caret_Lower_S_Or_Upper_S_Asterisk_Dollar 2.018952814907752 ns/iter 3.107260106361702 ns/iter 0.65
Regex_Period_Asterisk 2.017411916877193 ns/iter 3.106590723602742 ns/iter 0.65
Regex_Group_Period_Asterisk_Group 2.017747054338257 ns/iter 3.1088617505874945 ns/iter 0.65
Regex_Period_Plus 2.3066939760015175 ns/iter 3.108338638066269 ns/iter 0.74
Regex_Period 2.305966714012132 ns/iter 2.960658662034866 ns/iter 0.78
Regex_Caret_Period_Plus_Dollar 2.311333131503213 ns/iter 3.026188291539086 ns/iter 0.76
Regex_Caret_Group_Period_Plus_Group_Dollar 2.304757975163363 ns/iter 3.1080838270277718 ns/iter 0.74
Regex_Caret_Period_Asterisk_Dollar 2.017074106843377 ns/iter 3.418113271338021 ns/iter 0.59
Regex_Caret_Group_Period_Asterisk_Group_Dollar 2.016144647903805 ns/iter 3.418020554762938 ns/iter 0.59
Regex_Caret_X_Hyphen 8.640426135127885 ns/iter 10.258206394361098 ns/iter 0.84
Regex_Period_Md_Dollar 25.119789663348897 ns/iter 27.19509597753163 ns/iter 0.92
Regex_Caret_Slash_Period_Asterisk 8.308847933186088 ns/iter 6.220436317429934 ns/iter 1.34
Regex_Caret_Period_Range_Dollar 2.3194107476827557 ns/iter 3.731816126697467 ns/iter 0.62
Regex_Nested_Backtrack 43.84546615883438 ns/iter 49.77966818944224 ns/iter 0.88
JSON_Array_Of_Objects_Unique 352.25009815679584 ns/iter 432.2777236688113 ns/iter 0.81
JSON_Parse_1 27471.344629882624 ns/iter 29496.13327151785 ns/iter 0.93
JSON_Parse_Real 36746.046511628054 ns/iter 38293.48326793223 ns/iter 0.96
JSON_Parse_Decimal 125890.19863750639 ns/iter 129492.78133679621 ns/iter 0.97
JSON_Fast_Hash_Helm_Chart_Lock 46.4272483379174 ns/iter 62.483367986648965 ns/iter 0.74
JSON_Equality_Helm_Chart_Lock 138.9175746622838 ns/iter 166.27250628180744 ns/iter 0.84
JSON_String_Equal/10 4.610332229096401 ns/iter 6.234011013776202 ns/iter 0.74
JSON_String_Equal/100 5.768030065577923 ns/iter 6.854667663361569 ns/iter 0.84
JSON_String_Equal_Small_By_Perfect_Hash/10 0.6914805612994102 ns/iter 0.9363783610792547 ns/iter 0.74
JSON_String_Equal_Small_By_Runtime_Perfect_Hash/10 9.807181510874294 ns/iter 10.265737529500058 ns/iter 0.96
JSON_String_Fast_Hash/10 2.3052673612728447 ns/iter 2.7998548138484423 ns/iter 0.82
JSON_String_Fast_Hash/100 2.305742070775618 ns/iter 2.8009809697468158 ns/iter 0.82
JSON_String_Key_Hash/10 1.7285431216980913 ns/iter 2.179242500894007 ns/iter 0.79
JSON_String_Key_Hash/100 7.197758553600776 ns/iter 6.529650875284968 ns/iter 1.10
JSON_Object_Defines_Miss_Same_Length 3.4057414384467655 ns/iter 3.7351041576646677 ns/iter 0.91
JSON_Object_Defines_Miss_Too_Small 3.4714797611797468 ns/iter 3.7540787602517915 ns/iter 0.92
JSON_Object_Defines_Miss_Too_Large 3.4067278528918923 ns/iter 3.7369448240172147 ns/iter 0.91
Pointer_Object_Traverse 39.29250731586564 ns/iter 46.390123284647636 ns/iter 0.85
Pointer_Object_Try_Traverse 45.37450932830688 ns/iter 53.24815052520137 ns/iter 0.85
Pointer_Push_Back_Pointer_To_Weak_Pointer 226.7053945769457 ns/iter 400.0177176484774 ns/iter 0.57
Pointer_Walker_Schema_ISO_Language 2998746.2145919683 ns/iter 3144063.4843048253 ns/iter 0.95
Schema_Frame_WoT_References 5323276.8091602195 ns/iter 6019849.617391431 ns/iter 0.88
Schema_Frame_OMC_References 23994957.62068878 ns/iter 27326259.269229397 ns/iter 0.88
Schema_Frame_OMC_Locations 22332328.54838764 ns/iter 25924455.642857376 ns/iter 0.86
Schema_Frame_ISO_Language_Locations 117964050.59999415 ns/iter 132008572.19999306 ns/iter 0.89
Schema_Iterator_ISO_Language 2195595.974842776 ns/iter 2425379.6354168043 ns/iter 0.91
Schema_Frame_ISO_Language_Locations_To_JSON 122817194.59999749 ns/iter 129191216.00000381 ns/iter 0.95
Schema_Tracker_ISO_Language 44323426.62500588 ns/iter 50636558.09999545 ns/iter 0.88
Schema_Tracker_ISO_Language_To_JSON 24091757.399999853 ns/iter 23375798.793103028 ns/iter 1.03
Schema_Format_ISO_Language_To_JSON 125132422.39997454 ns/iter 138495560.6000176 ns/iter 0.90
Schema_Bundle_Meta_2020_12 2198645.4384870613 ns/iter 2308140.864240824 ns/iter 0.95
Alterschema_Check_Readibility_ISO_Language_Set_3 213665454.99999273 ns/iter 241134272.99998116 ns/iter 0.89
Alterschema_Check_Readibility_OMC 29541465.50000303 ns/iter 32449569.272728242 ns/iter 0.91
URITemplateRouter_Create 14054.844477851439 ns/iter 16764.423622236056 ns/iter 0.84
URITemplateRouter_Match 154.707046856821 ns/iter 174.25454117078553 ns/iter 0.89
URITemplateRouterView_Restore 3611.4226156247696 ns/iter 8182.534494284246 ns/iter 0.44
URITemplateRouterView_Match 121.72870730978492 ns/iter 135.54589148602423 ns/iter 0.90

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

@jviotti jviotti merged commit 4b82105 into main Jan 7, 2026
13 checks passed
@jviotti jviotti deleted the linter-fix-pointers branch January 7, 2026 19:22
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: 36c00d2 Previous: 9bdf8bd Ratio
Regex_Lower_S_Or_Upper_S_Asterisk 4.097317953745188 ns/iter 4.095275625000028 ns/iter 1.00
Regex_Caret_Lower_S_Or_Upper_S_Asterisk_Dollar 4.080217699071452 ns/iter 4.0841386233645975 ns/iter 1.00
Regex_Period_Asterisk 4.706540635505712 ns/iter 4.71475514445312 ns/iter 1.00
Regex_Group_Period_Asterisk_Group 4.397952500000457 ns/iter 4.3925456250001105 ns/iter 1.00
Regex_Period_Plus 4.387031874999536 ns/iter 4.393878749999658 ns/iter 1.00
Regex_Period 4.4005087499996876 ns/iter 4.396725591883055 ns/iter 1.00
Regex_Caret_Period_Plus_Dollar 4.078061703710595 ns/iter 4.079339650141785 ns/iter 1.00
Regex_Caret_Group_Period_Plus_Group_Dollar 3.759463967340103 ns/iter 3.7697474932682695 ns/iter 1.00
Regex_Caret_Period_Asterisk_Dollar 4.3969819311683755 ns/iter 4.8999063627014 ns/iter 0.90
Regex_Caret_Group_Period_Asterisk_Group_Dollar 4.079511435856075 ns/iter 4.093505587667142 ns/iter 1.00
Regex_Caret_X_Hyphen 7.836632812500608 ns/iter 7.902422991071641 ns/iter 0.99
Regex_Period_Md_Dollar 35.494780565883794 ns/iter 35.61181744123464 ns/iter 1.00
Regex_Caret_Slash_Period_Asterisk 7.511855357143255 ns/iter 7.521274553570529 ns/iter 1.00
Regex_Caret_Period_Range_Dollar 4.0802937572864435 ns/iter 4.088527864444065 ns/iter 1.00
Regex_Nested_Backtrack 99.47399999999718 ns/iter 101.39212500000384 ns/iter 0.98
JSON_Array_Of_Objects_Unique 479.9454178461279 ns/iter 476.6814233663942 ns/iter 1.01
JSON_Parse_1 74281.90848214808 ns/iter 74030.89285715124 ns/iter 1.00
JSON_Parse_Real 93652.899424136 ns/iter 94332.99852682908 ns/iter 0.99
JSON_Parse_Decimal 336765.42239690054 ns/iter 340842.5564681636 ns/iter 0.99
JSON_Fast_Hash_Helm_Chart_Lock 57.04371000000492 ns/iter 61.198369999988245 ns/iter 0.93
JSON_Equality_Helm_Chart_Lock 276.2520614397921 ns/iter 272.33813962779755 ns/iter 1.01
JSON_String_Equal/10 12.833810714285828 ns/iter 12.851516071431694 ns/iter 1.00
JSON_String_Equal/100 15.157178571428684 ns/iter 14.806350446429558 ns/iter 1.02
JSON_String_Equal_Small_By_Perfect_Hash/10 2.7624128124998037 ns/iter 2.196429062500016 ns/iter 1.26
JSON_String_Equal_Small_By_Runtime_Perfect_Hash/10 15.423875000000262 ns/iter 12.716780357144282 ns/iter 1.21
JSON_String_Fast_Hash/10 3.197958988836386 ns/iter 3.262082589285699 ns/iter 0.98
JSON_String_Fast_Hash/100 3.332571098957012 ns/iter 3.3474399493791154 ns/iter 1.00
JSON_String_Key_Hash/10 3.766511160714359 ns/iter 3.873854352678714 ns/iter 0.97
JSON_String_Key_Hash/100 13.741806635081483 ns/iter 16.29845535714277 ns/iter 0.84
JSON_Object_Defines_Miss_Same_Length 4.931980983243612 ns/iter 4.735920546286617 ns/iter 1.04
JSON_Object_Defines_Miss_Too_Small 3.985418526785927 ns/iter 3.7870069806900153 ns/iter 1.05
JSON_Object_Defines_Miss_Too_Large 5.082583749999969 ns/iter 4.778748224953008 ns/iter 1.06
Pointer_Object_Traverse 57.44374107143203 ns/iter 57.65678571427608 ns/iter 1.00
Pointer_Object_Try_Traverse 70.53762276785542 ns/iter 69.68806919644014 ns/iter 1.01
Pointer_Push_Back_Pointer_To_Weak_Pointer 155.68671874999853 ns/iter 175.40519423264254 ns/iter 0.89
Pointer_Walker_Schema_ISO_Language 12351878.571428593 ns/iter 10614592.18750116 ns/iter 1.16
Schema_Frame_WoT_References 13986960.00000099 ns/iter 13782867.999998417 ns/iter 1.01
Schema_Frame_OMC_References 67697499.99999808 ns/iter 65842890.909090616 ns/iter 1.03
Schema_Frame_OMC_Locations 62124454.54545187 ns/iter 60598045.45454674 ns/iter 1.03
Schema_Frame_ISO_Language_Locations 259249433.33332825 ns/iter 270285800.00001055 ns/iter 0.96
Schema_Iterator_ISO_Language 4379853.125000466 ns/iter 4160937.5838921526 ns/iter 1.05
Schema_Frame_ISO_Language_Locations_To_JSON 234835199.99998257 ns/iter 241524399.99996507 ns/iter 0.97
Schema_Tracker_ISO_Language 101834650.0000007 ns/iter 102117471.4285605 ns/iter 1.00
Schema_Tracker_ISO_Language_To_JSON 56621279.9999903 ns/iter 57340227.27272697 ns/iter 0.99
Schema_Format_ISO_Language_To_JSON 263720266.66664776 ns/iter 257785866.66668463 ns/iter 1.02
Schema_Bundle_Meta_2020_12 4637261.744972042 ns/iter 4533144.805198201 ns/iter 1.02
Alterschema_Check_Readibility_ISO_Language_Set_3 395316649.999927 ns/iter 382778099.9999959 ns/iter 1.03
Alterschema_Check_Readibility_OMC 74637877.7777813 ns/iter 71269200.00000197 ns/iter 1.05
URITemplateRouter_Create 21742.91249999527 ns/iter 21544.784375002735 ns/iter 1.01
URITemplateRouter_Match 206.5375488152428 ns/iter 205.97863589383414 ns/iter 1.00
URITemplateRouterView_Restore 30892.743542979537 ns/iter 31430.285714283254 ns/iter 0.98
URITemplateRouterView_Match 165.9927611156099 ns/iter 169.7066964285605 ns/iter 0.98

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: 36c00d2 Previous: 9bdf8bd Ratio
URITemplateRouter_Create 15501.921948629506 ns/iter 15380.22552092591 ns/iter 1.01
URITemplateRouter_Match 161.2089748246968 ns/iter 158.2620659644114 ns/iter 1.02
URITemplateRouterView_Restore 8389.132428573183 ns/iter 8143.404805626289 ns/iter 1.03
URITemplateRouterView_Match 117.47773748092004 ns/iter 116.88918715584059 ns/iter 1.01
Alterschema_Check_Readibility_ISO_Language_Set_3 245443342.33329818 ns/iter 241016679.0000024 ns/iter 1.02
Alterschema_Check_Readibility_OMC 36804491.10526608 ns/iter 35500265.45000265 ns/iter 1.04
Schema_Frame_WoT_References 6625002.83962096 ns/iter 6586967.588785262 ns/iter 1.01
Schema_Frame_OMC_References 29998688.666665886 ns/iter 28956426.29166654 ns/iter 1.04
Schema_Frame_OMC_Locations 27555213.440000445 ns/iter 26891057.230767064 ns/iter 1.02
Schema_Frame_ISO_Language_Locations 139080844.00000006 ns/iter 137559438.7999854 ns/iter 1.01
Schema_Iterator_ISO_Language 2650505.5606068335 ns/iter 2646031.9172929986 ns/iter 1.00
Schema_Frame_ISO_Language_Locations_To_JSON 283604131.00002307 ns/iter 291350052.6666818 ns/iter 0.97
Schema_Tracker_ISO_Language 49010612.85714345 ns/iter 48055863.64286033 ns/iter 1.02
Schema_Tracker_ISO_Language_To_JSON 34375923.05000408 ns/iter 33235827.047617152 ns/iter 1.03
Schema_Format_ISO_Language_To_JSON 147299291.39998603 ns/iter 144474922.2000155 ns/iter 1.02
Schema_Bundle_Meta_2020_12 2571706.7279453645 ns/iter 2584510.4206651854 ns/iter 1.00
Pointer_Object_Traverse 50.005254200004856 ns/iter 48.16100845559035 ns/iter 1.04
Pointer_Object_Try_Traverse 22.361484577690902 ns/iter 22.379136334561718 ns/iter 1.00
Pointer_Push_Back_Pointer_To_Weak_Pointer 172.121278861464 ns/iter 165.55285821290755 ns/iter 1.04
Pointer_Walker_Schema_ISO_Language 3411299.6766167786 ns/iter 3494376.237373479 ns/iter 0.98
JSON_Array_Of_Objects_Unique 421.8622356739497 ns/iter 431.32459894193767 ns/iter 0.98
JSON_Parse_1 33246.51664932109 ns/iter 33029.413519261754 ns/iter 1.01
JSON_Parse_Real 44877.75870097709 ns/iter 43797.2198501816 ns/iter 1.02
JSON_Parse_Decimal 155749.45823013101 ns/iter 155558.24247120635 ns/iter 1.00
JSON_Fast_Hash_Helm_Chart_Lock 61.571490153780296 ns/iter 61.3387132102183 ns/iter 1.00
JSON_Equality_Helm_Chart_Lock 154.06369324993003 ns/iter 155.9263708035361 ns/iter 0.99
JSON_String_Equal/10 6.30530254628714 ns/iter 6.000842690338392 ns/iter 1.05
JSON_String_Equal/100 6.929860347780007 ns/iter 6.637771717286823 ns/iter 1.04
JSON_String_Equal_Small_By_Perfect_Hash/10 0.6255899122613401 ns/iter 0.6230615293721354 ns/iter 1.00
JSON_String_Equal_Small_By_Runtime_Perfect_Hash/10 26.14519247463615 ns/iter 26.31163152766758 ns/iter 0.99
JSON_String_Fast_Hash/10 2.2569224584542797 ns/iter 2.254744706447025 ns/iter 1.00
JSON_String_Fast_Hash/100 2.2545583690234867 ns/iter 2.254871779451047 ns/iter 1.00
JSON_String_Key_Hash/10 1.2510199090110796 ns/iter 1.245738425588344 ns/iter 1.00
JSON_String_Key_Hash/100 12.43088552900688 ns/iter 12.42980363528119 ns/iter 1.00
JSON_Object_Defines_Miss_Same_Length 2.492197099647979 ns/iter 2.488823703106962 ns/iter 1.00
JSON_Object_Defines_Miss_Too_Small 2.798293725041491 ns/iter 2.800706009179425 ns/iter 1.00
JSON_Object_Defines_Miss_Too_Large 2.4895469230768317 ns/iter 2.488191128461447 ns/iter 1.00
Regex_Lower_S_Or_Upper_S_Asterisk 3.1110581642995094 ns/iter 3.1092659424760822 ns/iter 1.00
Regex_Caret_Lower_S_Or_Upper_S_Asterisk_Dollar 3.11750486348168 ns/iter 3.1220913393225986 ns/iter 1.00
Regex_Period_Asterisk 3.1106521122095305 ns/iter 3.1099972811611534 ns/iter 1.00
Regex_Group_Period_Asterisk_Group 3.1118511578636476 ns/iter 3.1088316420381843 ns/iter 1.00
Regex_Period_Plus 2.8023754798587346 ns/iter 2.799817550243414 ns/iter 1.00
Regex_Period 2.7982193349546307 ns/iter 2.7978695998927354 ns/iter 1.00
Regex_Caret_Period_Plus_Dollar 2.8001574959150903 ns/iter 2.7978838611615893 ns/iter 1.00
Regex_Caret_Group_Period_Plus_Group_Dollar 2.8082034736066683 ns/iter 2.799486951357402 ns/iter 1.00
Regex_Caret_Period_Asterisk_Dollar 4.043202763211541 ns/iter 4.042071549183055 ns/iter 1.00
Regex_Caret_Group_Period_Asterisk_Group_Dollar 4.040494670452327 ns/iter 4.04130443337485 ns/iter 1.00
Regex_Caret_X_Hyphen 13.09728702572508 ns/iter 13.703448483422493 ns/iter 0.96
Regex_Period_Md_Dollar 36.181726636770854 ns/iter 36.39569684061099 ns/iter 0.99
Regex_Caret_Slash_Period_Asterisk 8.704007537873387 ns/iter 8.70329086984869 ns/iter 1.00
Regex_Caret_Period_Range_Dollar 4.051207997991641 ns/iter 4.040992804072407 ns/iter 1.00
Regex_Nested_Backtrack 58.196452445964624 ns/iter 57.75046566566098 ns/iter 1.01

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: 36c00d2 Previous: 9bdf8bd Ratio
Regex_Lower_S_Or_Upper_S_Asterisk 1.9158567714359178 ns/iter 1.876625833643734 ns/iter 1.02
Regex_Caret_Lower_S_Or_Upper_S_Asterisk_Dollar 1.8851373110830696 ns/iter 1.7834086446504884 ns/iter 1.06
Regex_Period_Asterisk 1.872441979505567 ns/iter 1.7615458116197886 ns/iter 1.06
Regex_Group_Period_Asterisk_Group 1.7616475144781385 ns/iter 1.9911095985575986 ns/iter 0.88
Regex_Period_Plus 2.0710405014629907 ns/iter 2.2443267232902917 ns/iter 0.92
Regex_Period 2.632764977950983 ns/iter 2.296395567915775 ns/iter 1.15
Regex_Caret_Period_Plus_Dollar 2.3131348995415117 ns/iter 2.0035772528868887 ns/iter 1.15
Regex_Caret_Group_Period_Plus_Group_Dollar 2.2251436203184154 ns/iter 2.036550130101252 ns/iter 1.09
Regex_Caret_Period_Asterisk_Dollar 1.7547288345846377 ns/iter 1.6844951870401705 ns/iter 1.04
Regex_Caret_Group_Period_Asterisk_Group_Dollar 2.5088617182701847 ns/iter 1.6742696982413134 ns/iter 1.50
Regex_Caret_X_Hyphen 6.368069800253082 ns/iter 6.327490799968899 ns/iter 1.01
Regex_Period_Md_Dollar 19.712449731163503 ns/iter 19.77842521020407 ns/iter 1.00
Regex_Caret_Slash_Period_Asterisk 5.5133240856180965 ns/iter 5.070586249998996 ns/iter 1.09
Regex_Caret_Period_Range_Dollar 2.122641790535935 ns/iter 1.7199953892086166 ns/iter 1.23
Regex_Nested_Backtrack 34.43646018417103 ns/iter 28.004890062664312 ns/iter 1.23
JSON_Array_Of_Objects_Unique 385.2716916384173 ns/iter 390.13305105664796 ns/iter 0.99
JSON_Parse_1 21555.307356001846 ns/iter 24000.46008433021 ns/iter 0.90
JSON_Parse_Real 28081.884352950918 ns/iter 29124.009346169627 ns/iter 0.96
JSON_Parse_Decimal 312345.3076576376 ns/iter 288945.38213085104 ns/iter 1.08
JSON_Fast_Hash_Helm_Chart_Lock 66.96529848057673 ns/iter 63.30840916590451 ns/iter 1.06
JSON_Equality_Helm_Chart_Lock 193.1681058642355 ns/iter 143.0160884612415 ns/iter 1.35
JSON_String_Equal/10 8.093638800198281 ns/iter 7.1837460826517185 ns/iter 1.13
JSON_String_Equal/100 6.763262385888969 ns/iter 6.944201504615963 ns/iter 0.97
JSON_String_Equal_Small_By_Perfect_Hash/10 0.3639821496935948 ns/iter 0.34815719069856593 ns/iter 1.05
JSON_String_Equal_Small_By_Runtime_Perfect_Hash/10 3.463957016279418 ns/iter 3.3061547734539527 ns/iter 1.05
JSON_String_Fast_Hash/10 2.6376377444913603 ns/iter 2.3699185015407607 ns/iter 1.11
JSON_String_Fast_Hash/100 2.1735998755963624 ns/iter 2.0564000936708666 ns/iter 1.06
JSON_String_Key_Hash/10 1.4391122828506047 ns/iter 1.336033699344209 ns/iter 1.08
JSON_String_Key_Hash/100 2.5365820624605804 ns/iter 2.027473513882228 ns/iter 1.25
JSON_Object_Defines_Miss_Same_Length 2.922271989218212 ns/iter 2.5133425660894484 ns/iter 1.16
JSON_Object_Defines_Miss_Too_Small 2.7164596109626635 ns/iter 2.5107160751382662 ns/iter 1.08
JSON_Object_Defines_Miss_Too_Large 2.979474344224926 ns/iter 2.540528530178431 ns/iter 1.17
Pointer_Object_Traverse 14.723380096230837 ns/iter 13.76367205126605 ns/iter 1.07
Pointer_Object_Try_Traverse 19.895926548557004 ns/iter 18.05778832415693 ns/iter 1.10
Pointer_Push_Back_Pointer_To_Weak_Pointer 159.84431877793105 ns/iter 149.4578229054761 ns/iter 1.07
Pointer_Walker_Schema_ISO_Language 4023508.3841463807 ns/iter 4023465.4800003357 ns/iter 1.00
Schema_Frame_WoT_References 5222398.214285866 ns/iter 5497530.383457647 ns/iter 0.95
Schema_Frame_OMC_References 32694522.72727656 ns/iter 31221901.500006508 ns/iter 1.05
Schema_Frame_OMC_Locations 30108638.874997005 ns/iter 28418426.680000268 ns/iter 1.06
Schema_Frame_ISO_Language_Locations 105265499.99999209 ns/iter 99426595.28571442 ns/iter 1.06
Schema_Iterator_ISO_Language 2286509.417956319 ns/iter 2136282.779999874 ns/iter 1.07
Schema_Frame_ISO_Language_Locations_To_JSON 114672979.16667955 ns/iter 76448026.00000843 ns/iter 1.50
Schema_Tracker_ISO_Language 62279229.16666747 ns/iter 38334649.10526106 ns/iter 1.62
Schema_Tracker_ISO_Language_To_JSON 21617598.633330695 ns/iter 14582484.69387919 ns/iter 1.48
Schema_Format_ISO_Language_To_JSON 160584574.60001138 ns/iter 100613339.2857659 ns/iter 1.60
Schema_Bundle_Meta_2020_12 2361353.6050195727 ns/iter 1598193.219812443 ns/iter 1.48
Alterschema_Check_Readibility_ISO_Language_Set_3 226474041.6666579 ns/iter 164855416.75001514 ns/iter 1.37
Alterschema_Check_Readibility_OMC 39202729.166662365 ns/iter 29949672.08695451 ns/iter 1.31
URITemplateRouter_Create 21106.537530267262 ns/iter 15114.982908911868 ns/iter 1.40
URITemplateRouter_Match 173.99764957441968 ns/iter 151.76992204692914 ns/iter 1.15
URITemplateRouterView_Restore 9758.905925754163 ns/iter 8623.667557005161 ns/iter 1.13
URITemplateRouterView_Match 113.220763043526 ns/iter 107.46128146523432 ns/iter 1.05

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: 36c00d2 Previous: 9bdf8bd Ratio
Regex_Lower_S_Or_Upper_S_Asterisk 2.053449177048248 ns/iter 2.258587804885656 ns/iter 0.91
Regex_Caret_Lower_S_Or_Upper_S_Asterisk_Dollar 2.0762332980929434 ns/iter 2.2857306308932746 ns/iter 0.91
Regex_Period_Asterisk 2.0641092704769353 ns/iter 2.2626470058646575 ns/iter 0.91
Regex_Group_Period_Asterisk_Group 2.056024012794117 ns/iter 2.2674674417498446 ns/iter 0.91
Regex_Period_Plus 2.126956098720484 ns/iter 2.350882231816658 ns/iter 0.90
Regex_Period 2.129706043879605 ns/iter 2.84918303305745 ns/iter 0.75
Regex_Caret_Period_Plus_Dollar 2.1675071146272233 ns/iter 2.7125789185886617 ns/iter 0.80
Regex_Caret_Group_Period_Plus_Group_Dollar 2.2962468167418106 ns/iter 2.444490183435005 ns/iter 0.94
Regex_Caret_Period_Asterisk_Dollar 2.2176589445054407 ns/iter 2.282062115926469 ns/iter 0.97
Regex_Caret_Group_Period_Asterisk_Group_Dollar 2.217716218460354 ns/iter 2.2844651069782267 ns/iter 0.97
Regex_Caret_X_Hyphen 6.793344547228768 ns/iter 7.432583443528162 ns/iter 0.91
Regex_Period_Md_Dollar 22.615007542526534 ns/iter 25.202045208176614 ns/iter 0.90
Regex_Caret_Slash_Period_Asterisk 5.15446976513119 ns/iter 5.5351415754365645 ns/iter 0.93
Regex_Caret_Period_Range_Dollar 2.3061626144019756 ns/iter 2.552460966176567 ns/iter 0.90
Regex_Nested_Backtrack 45.71745073364138 ns/iter 54.291725158691406 ns/iter 0.84
JSON_Array_Of_Objects_Unique 278.74868653217163 ns/iter 312.7101760619912 ns/iter 0.89
JSON_Parse_1 23459.78890967342 ns/iter 25115.196656350792 ns/iter 0.93
JSON_Parse_Real 23483.256726079508 ns/iter 25987.851142983756 ns/iter 0.90
JSON_Parse_Decimal 247395.55690599524 ns/iter 280404.2521672945 ns/iter 0.88
JSON_Fast_Hash_Helm_Chart_Lock 31.666068187368573 ns/iter 34.35216883923799 ns/iter 0.92
JSON_Equality_Helm_Chart_Lock 117.75877027155457 ns/iter 150.2985126123541 ns/iter 0.78
JSON_String_Equal/10 5.393401858026271 ns/iter 6.019054325051457 ns/iter 0.90
JSON_String_Equal/100 5.106079381686554 ns/iter 5.647781332937611 ns/iter 0.90
JSON_String_Equal_Small_By_Perfect_Hash/10 0.7473755190877934 ns/iter 0.8134652001813131 ns/iter 0.92
JSON_String_Equal_Small_By_Runtime_Perfect_Hash/10 3.5871482482079786 ns/iter 3.843384689755337 ns/iter 0.93
JSON_String_Fast_Hash/10 1.9141293094785017 ns/iter 1.9791154440491217 ns/iter 0.97
JSON_String_Fast_Hash/100 1.9154239815214065 ns/iter 2.0392586830385047 ns/iter 0.94
JSON_String_Key_Hash/10 1.5174432549649548 ns/iter 1.8111907413460744 ns/iter 0.84
JSON_String_Key_Hash/100 2.8239017466501 ns/iter 3.061775563042083 ns/iter 0.92
JSON_Object_Defines_Miss_Same_Length 1.9212410056390583 ns/iter 2.2396484979395055 ns/iter 0.86
JSON_Object_Defines_Miss_Too_Small 1.922911069016437 ns/iter 2.1620528055240174 ns/iter 0.89
JSON_Object_Defines_Miss_Too_Large 1.8733323675102145 ns/iter 2.1110249636243057 ns/iter 0.89
Pointer_Object_Traverse 54.204511344877986 ns/iter 56.326835167241846 ns/iter 0.96
Pointer_Object_Try_Traverse 38.179534227155145 ns/iter 39.88508313933334 ns/iter 0.96
Pointer_Push_Back_Pointer_To_Weak_Pointer 161.9577781623111 ns/iter 167.4705314614308 ns/iter 0.97
Pointer_Walker_Schema_ISO_Language 4005749.132380139 ns/iter 5668748.803690177 ns/iter 0.71
Schema_Frame_WoT_References 5786246.400538499 ns/iter 5916509.628295898 ns/iter 0.98
Schema_Frame_OMC_References 30710655.70997155 ns/iter 31814658.123513926 ns/iter 0.97
Schema_Frame_OMC_Locations 26396696.384136494 ns/iter 29888580.242792767 ns/iter 0.88
Schema_Frame_ISO_Language_Locations 117885669.07246907 ns/iter 126765807.46968587 ns/iter 0.93
Schema_Iterator_ISO_Language 1768111.6053324924 ns/iter 1770881.552193033 ns/iter 1.00
Schema_Frame_ISO_Language_Locations_To_JSON 146359157.56225586 ns/iter 140949630.7373047 ns/iter 1.04
Schema_Tracker_ISO_Language 37241101.26495361 ns/iter 44757814.96833353 ns/iter 0.83
Schema_Tracker_ISO_Language_To_JSON 24281485.327358905 ns/iter 27668870.013693105 ns/iter 0.88
Schema_Format_ISO_Language_To_JSON 124548196.79260254 ns/iter 143519020.0805664 ns/iter 0.87
Schema_Bundle_Meta_2020_12 1801124.2687548953 ns/iter 2206469.2537549515 ns/iter 0.82
Alterschema_Check_Readibility_ISO_Language_Set_3 173998773.09799194 ns/iter 211515585.58146158 ns/iter 0.82
Alterschema_Check_Readibility_OMC 36366260.051727295 ns/iter 42164928.772870235 ns/iter 0.86
URITemplateRouter_Create 13622.248932277857 ns/iter 15351.042905206346 ns/iter 0.89
URITemplateRouter_Match 170.24155339581375 ns/iter 179.69399218465037 ns/iter 0.95
URITemplateRouterView_Restore 9168.607306020265 ns/iter 10707.928620956529 ns/iter 0.86
URITemplateRouterView_Match 108.56632360882487 ns/iter 122.77149170314097 ns/iter 0.88

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