Skip to content

Conversation

@jviotti
Copy link
Member

@jviotti jviotti commented Dec 29, 2025

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

@augmentcode
Copy link

augmentcode bot commented Dec 29, 2025

🤖 Augment PR Summary

Summary: This PR prevents the AlterSchema linter from producing broken JSON Pointer references by avoiding transforms that would remove referenced subschemas.

Changes:

  • Replaced SchemaFrame::references_to (vector-returning scan) with boolean helpers has_references_to and has_references_through.
  • Added has_references_through to detect references to a pointer or any descendant, which is the common failure mode when a rule removes a whole keyword subtree.
  • Updated multiple AlterSchema lint/cleanup rules to short-circuit when the targeted keyword path is referenced.
  • Kept UnnecessaryAllOfWrapper’s existing “direct reference” guard, now via has_references_to.
  • Expanded AlterSchema tests (2020-12 and Draft-07) to cover reference-preservation scenarios.
  • Updated SchemaFrame unit tests to validate the new reference-query APIs, including cases without $id.

Technical Notes: The new helpers preserve the prior brute-force lookup semantics but allow early-exit and enable “subtree referenced” checks needed to avoid breaking $ref/$dynamicRef targets.

🤖 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: f67b79f Previous: 94ff49b Ratio
Regex_Lower_S_Or_Upper_S_Asterisk 3.1151621528584705 ns/iter 3.114802710555847 ns/iter 1.00
Regex_Caret_Lower_S_Or_Upper_S_Asterisk_Dollar 3.1072121577532643 ns/iter 3.156769891203 ns/iter 0.98
Regex_Period_Asterisk 3.107892666760969 ns/iter 3.109338089561548 ns/iter 1.00
Regex_Group_Period_Asterisk_Group 3.1081462071054426 ns/iter 3.1088952070062272 ns/iter 1.00
Regex_Period_Plus 3.0092946942516456 ns/iter 2.9903126418745045 ns/iter 1.01
Regex_Period 3.1081026029529952 ns/iter 3.1067465772949645 ns/iter 1.00
Regex_Caret_Period_Plus_Dollar 3.1038133788122972 ns/iter 3.104178896242164 ns/iter 1.00
Regex_Caret_Group_Period_Plus_Group_Dollar 2.9906962151774996 ns/iter 3.0209037152244216 ns/iter 0.99
Regex_Caret_Period_Asterisk_Dollar 3.4197530398544944 ns/iter 3.4181377000808144 ns/iter 1.00
Regex_Caret_Group_Period_Asterisk_Group_Dollar 3.1074398275257438 ns/iter 3.417535566455568 ns/iter 0.91
Regex_Caret_X_Hyphen 10.261219435368302 ns/iter 10.26434220073029 ns/iter 1.00
Regex_Period_Md_Dollar 32.04281321985059 ns/iter 27.210686832863022 ns/iter 1.18
Regex_Caret_Slash_Period_Asterisk 7.157744630963081 ns/iter 7.1519356177383875 ns/iter 1.00
Regex_Caret_Period_Range_Dollar 4.041256870119053 ns/iter 4.042899795733299 ns/iter 1.00
Regex_Nested_Backtrack 49.93909920280776 ns/iter 51.29143012901071 ns/iter 0.97
JSON_Array_Of_Objects_Unique 415.1776242277912 ns/iter 417.87200060033916 ns/iter 0.99
JSON_Parse_1 30755.945567787883 ns/iter 29417.852354920346 ns/iter 1.05
JSON_Parse_Real 37817.520869374515 ns/iter 37567.95283019127 ns/iter 1.01
JSON_Parse_Decimal 130107.27604166407 ns/iter 130238.879381059 ns/iter 1.00
JSON_Fast_Hash_Helm_Chart_Lock 55.786683606295895 ns/iter 55.53389569431068 ns/iter 1.00
JSON_Equality_Helm_Chart_Lock 167.0037016093232 ns/iter 162.93232992614094 ns/iter 1.02
JSON_String_Equal/10 7.782317313550541 ns/iter 7.160815155572031 ns/iter 1.09
JSON_String_Equal/100 8.40540477965038 ns/iter 7.782673651425247 ns/iter 1.08
JSON_String_Equal_Small_By_Perfect_Hash/10 0.9350909878419463 ns/iter 0.9356400800083433 ns/iter 1.00
JSON_String_Equal_Small_By_Runtime_Perfect_Hash/10 10.25770196661429 ns/iter 10.260806859043441 ns/iter 1.00
JSON_String_Fast_Hash/10 2.177837560264071 ns/iter 2.175919507021963 ns/iter 1.00
JSON_String_Fast_Hash/100 2.1785583359695573 ns/iter 2.177500657475016 ns/iter 1.00
JSON_String_Key_Hash/10 1.8685164515584378 ns/iter 1.8690844650362626 ns/iter 1.00
JSON_String_Key_Hash/100 6.528095765504462 ns/iter 6.529600276667146 ns/iter 1.00
JSON_Object_Defines_Miss_Same_Length 3.7360198629346026 ns/iter 3.7379994627040403 ns/iter 1.00
JSON_Object_Defines_Miss_Too_Small 3.735356756283575 ns/iter 3.737019095848954 ns/iter 1.00
JSON_Object_Defines_Miss_Too_Large 3.7355404382571864 ns/iter 3.736022772009074 ns/iter 1.00
Pointer_Object_Traverse 44.1711717707874 ns/iter 44.988454298282186 ns/iter 0.98
Pointer_Object_Try_Traverse 52.63583983470966 ns/iter 52.60706229417369 ns/iter 1.00
Pointer_Push_Back_Pointer_To_Weak_Pointer 348.66097379013337 ns/iter 348.98877157558417 ns/iter 1.00
Schema_Frame_WoT_References 7397196.82105356 ns/iter 7621902.663157399 ns/iter 0.97
Schema_Frame_OMC_References 36978218.47368375 ns/iter 37812345.333331145 ns/iter 0.98
Schema_Frame_OMC_Locations 34296420.35000029 ns/iter 36022249.05000071 ns/iter 0.95
Schema_Frame_ISO_Language_Locations 163278224.9999991 ns/iter 166098441.24999994 ns/iter 0.98
Schema_Iterator_ISO_Language 3989600.829545349 ns/iter 3893509.4615383674 ns/iter 1.02
Schema_PointerWalker_ISO_Language 4840230.203007694 ns/iter 5023837.649999904 ns/iter 0.96
Schema_Frame_ISO_Language_Locations_To_JSON 151010901.40001363 ns/iter 156665107.00000343 ns/iter 0.96
Schema_Tracker_ISO_Language 50181105.19999936 ns/iter 50859925.30000567 ns/iter 0.99
Schema_Tracker_ISO_Language_To_JSON 24226866.965516914 ns/iter 25551370.321429495 ns/iter 0.95
Schema_Format_ISO_Language_To_JSON 168314583.00001144 ns/iter 181101528.00002766 ns/iter 0.93
Schema_Bundle_Meta_2020_12 2189794.3093762253 ns/iter 2194317.210034204 ns/iter 1.00
Alterschema_Check_Readibility_ISO_Language_Set_3 293293466.0000228 ns/iter 299313101.5000472 ns/iter 0.98
Alterschema_Check_Readibility_OMC 43300482.24999672 ns/iter 43270011.81249557 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 (windows/msvc)

Details
Benchmark suite Current: f67b79f Previous: 94ff49b Ratio
Regex_Lower_S_Or_Upper_S_Asterisk 3.073901784341801 ns/iter 4.088105364443321 ns/iter 0.75
Regex_Caret_Lower_S_Or_Upper_S_Asterisk_Dollar 2.8497182130130994 ns/iter 4.085410185866759 ns/iter 0.70
Regex_Period_Asterisk 3.225606098790076 ns/iter 4.709903571428039 ns/iter 0.68
Regex_Group_Period_Asterisk_Group 3.0045136790118248 ns/iter 4.399410033840521 ns/iter 0.68
Regex_Period_Plus 3.511107672301549 ns/iter 5.026218999998946 ns/iter 0.70
Regex_Period 3.5130759543322907 ns/iter 5.035846000000674 ns/iter 0.70
Regex_Caret_Period_Plus_Dollar 3.2222906250000602 ns/iter 4.705418314074271 ns/iter 0.68
Regex_Caret_Group_Period_Plus_Group_Dollar 2.9542239022933368 ns/iter 4.40423375000023 ns/iter 0.67
Regex_Caret_Period_Asterisk_Dollar 2.98051432902657 ns/iter 4.39295937499935 ns/iter 0.68
Regex_Caret_Group_Period_Asterisk_Group_Dollar 2.8396267595899025 ns/iter 4.085620275153241 ns/iter 0.70
Regex_Caret_X_Hyphen 6.144571428571055 ns/iter 7.553533035714313 ns/iter 0.81
Regex_Period_Md_Dollar 30.154580357140457 ns/iter 35.31931315634044 ns/iter 0.85
Regex_Caret_Slash_Period_Asterisk 5.848111607142365 ns/iter 7.206332589286189 ns/iter 0.81
Regex_Caret_Period_Range_Dollar 3.4076798490746665 ns/iter 4.154965989561627 ns/iter 0.82
Regex_Nested_Backtrack 85.31489351273416 ns/iter 111.07815624999517 ns/iter 0.77
JSON_Array_Of_Objects_Unique 383.7497767857277 ns/iter 463.34608556829363 ns/iter 0.83
JSON_Parse_1 75779.64285714651 ns/iter 73274.21874998257 ns/iter 1.03
JSON_Parse_Real 93133.39062499539 ns/iter 90018.58845587366 ns/iter 1.03
JSON_Parse_Decimal 342616.5811088121 ns/iter 352586.34496920486 ns/iter 0.97
JSON_Fast_Hash_Helm_Chart_Lock 43.30758750000285 ns/iter 57.66610999999102 ns/iter 0.75
JSON_Equality_Helm_Chart_Lock 245.56182142857455 ns/iter 274.29037614771363 ns/iter 0.90
JSON_String_Equal/10 10.578377631347081 ns/iter 12.881258928570917 ns/iter 0.82
JSON_String_Equal/100 13.40644642857163 ns/iter 14.155079401095351 ns/iter 0.95
JSON_String_Equal_Small_By_Perfect_Hash/10 1.7490107142858082 ns/iter 2.20015250000003 ns/iter 0.79
JSON_String_Equal_Small_By_Runtime_Perfect_Hash/10 9.644409331946072 ns/iter 12.683937499998267 ns/iter 0.76
JSON_String_Fast_Hash/10 2.0456573637883744 ns/iter 3.2444564904658133 ns/iter 0.63
JSON_String_Fast_Hash/100 2.0467838370013296 ns/iter 3.160662946428821 ns/iter 0.65
JSON_String_Key_Hash/10 2.649493636027428 ns/iter 3.770508370535909 ns/iter 0.70
JSON_String_Key_Hash/100 13.668139224694784 ns/iter 16.579246540761318 ns/iter 0.82
JSON_Object_Defines_Miss_Same_Length 5.048530999999912 ns/iter 4.863994800192326 ns/iter 1.04
JSON_Object_Defines_Miss_Too_Small 4.292925000000025 ns/iter 3.7772962432550377 ns/iter 1.14
JSON_Object_Defines_Miss_Too_Large 4.958559000000378 ns/iter 4.717184889447138 ns/iter 1.05
Pointer_Object_Traverse 45.65963271561653 ns/iter 54.19765178570758 ns/iter 0.84
Pointer_Object_Try_Traverse 63.23812499999803 ns/iter 69.55191964286607 ns/iter 0.91
Pointer_Push_Back_Pointer_To_Weak_Pointer 176.1278728685681 ns/iter 177.18344490070132 ns/iter 0.99
Schema_Frame_WoT_References 16201740.540540215 ns/iter 15282106.666664833 ns/iter 1.06
Schema_Frame_OMC_References 78093077.77776869 ns/iter 72557655.55555627 ns/iter 1.08
Schema_Frame_OMC_Locations 72419677.77776557 ns/iter 68697963.63637513 ns/iter 1.05
Schema_Frame_ISO_Language_Locations 297851699.999967 ns/iter 284376600.0000869 ns/iter 1.05
Schema_Iterator_ISO_Language 9754595.312498894 ns/iter 8343526.785712438 ns/iter 1.17
Schema_PointerWalker_ISO_Language 11511823.437500013 ns/iter 9720417.333334506 ns/iter 1.18
Schema_Frame_ISO_Language_Locations_To_JSON 222168933.33332637 ns/iter 223648899.99994373 ns/iter 0.99
Schema_Tracker_ISO_Language 103309099.99998994 ns/iter 99925357.14283285 ns/iter 1.03
Schema_Tracker_ISO_Language_To_JSON 54876854.54545499 ns/iter 52549780.00000392 ns/iter 1.04
Schema_Format_ISO_Language_To_JSON 318200899.99996525 ns/iter 289528899.9999366 ns/iter 1.10
Schema_Bundle_Meta_2020_12 4375481.818179687 ns/iter 3715550.8021279145 ns/iter 1.18
Alterschema_Check_Readibility_ISO_Language_Set_3 435614849.999979 ns/iter 413113549.99993455 ns/iter 1.05
Alterschema_Check_Readibility_OMC 80464814.2857169 ns/iter 76767485.71429925 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/llvm)

Details
Benchmark suite Current: f67b79f Previous: 94ff49b Ratio
Regex_Lower_S_Or_Upper_S_Asterisk 1.6650696879988187 ns/iter 1.8786424857594801 ns/iter 0.89
Regex_Caret_Lower_S_Or_Upper_S_Asterisk_Dollar 1.653663550360583 ns/iter 1.8855484053828295 ns/iter 0.88
Regex_Period_Asterisk 1.6812983266805501 ns/iter 1.8578942590574747 ns/iter 0.90
Regex_Group_Period_Asterisk_Group 1.6554794348835726 ns/iter 1.9566056534396616 ns/iter 0.85
Regex_Period_Plus 1.9995932946725252 ns/iter 2.814231173796418 ns/iter 0.71
Regex_Period 2.084168775585295 ns/iter 2.862421826090506 ns/iter 0.73
Regex_Caret_Period_Plus_Dollar 2.0923211164186766 ns/iter 2.5421230874403347 ns/iter 0.82
Regex_Caret_Group_Period_Plus_Group_Dollar 2.368768735444985 ns/iter 2.3548717312939047 ns/iter 1.01
Regex_Caret_Period_Asterisk_Dollar 1.8975708296464253 ns/iter 2.425470887610492 ns/iter 0.78
Regex_Caret_Group_Period_Asterisk_Group_Dollar 1.934542954467755 ns/iter 2.0572497256943687 ns/iter 0.94
Regex_Caret_X_Hyphen 6.81652330216207 ns/iter 8.241178593059018 ns/iter 0.83
Regex_Period_Md_Dollar 24.7212731500309 ns/iter 26.521303032019496 ns/iter 0.93
Regex_Caret_Slash_Period_Asterisk 5.994874772144387 ns/iter 6.640201288485914 ns/iter 0.90
Regex_Caret_Period_Range_Dollar 1.8970481627042053 ns/iter 2.5360963479719745 ns/iter 0.75
Regex_Nested_Backtrack 30.410651524082255 ns/iter 44.78284095940134 ns/iter 0.68
JSON_Array_Of_Objects_Unique 355.3066949823016 ns/iter 411.31869363066545 ns/iter 0.86
JSON_Parse_1 21015.565730207134 ns/iter 21461.478955750594 ns/iter 0.98
JSON_Parse_Real 24233.40409861229 ns/iter 24974.023619401425 ns/iter 0.97
JSON_Parse_Decimal 238789.0121992504 ns/iter 239834.04887717147 ns/iter 1.00
JSON_Fast_Hash_Helm_Chart_Lock 56.22836557659019 ns/iter 56.11816745625703 ns/iter 1.00
JSON_Equality_Helm_Chart_Lock 135.88264716881315 ns/iter 127.91632237417119 ns/iter 1.06
JSON_String_Equal/10 6.93203275637931 ns/iter 6.751773341026701 ns/iter 1.03
JSON_String_Equal/100 6.280541861949625 ns/iter 6.449620435457972 ns/iter 0.97
JSON_String_Equal_Small_By_Perfect_Hash/10 0.32868698446142647 ns/iter 0.3253712705577933 ns/iter 1.01
JSON_String_Equal_Small_By_Runtime_Perfect_Hash/10 3.1548776721516525 ns/iter 3.1213731240326625 ns/iter 1.01
JSON_String_Fast_Hash/10 2.3297611083108882 ns/iter 2.320578923521435 ns/iter 1.00
JSON_String_Fast_Hash/100 2.232109299415324 ns/iter 2.516422275960223 ns/iter 0.89
JSON_String_Key_Hash/10 1.4675073378974433 ns/iter 1.8944421799793865 ns/iter 0.77
JSON_String_Key_Hash/100 2.3102331556766926 ns/iter 3.158686325206285 ns/iter 0.73
JSON_Object_Defines_Miss_Same_Length 3.022357465967307 ns/iter 3.356191129101235 ns/iter 0.90
JSON_Object_Defines_Miss_Too_Small 2.9679354020599438 ns/iter 2.807775749516748 ns/iter 1.06
JSON_Object_Defines_Miss_Too_Large 3.1513030611380115 ns/iter 3.044570921826452 ns/iter 1.04
Pointer_Object_Traverse 16.53247794266654 ns/iter 14.587218097034077 ns/iter 1.13
Pointer_Object_Try_Traverse 20.574134600844157 ns/iter 21.88190989169231 ns/iter 0.94
Pointer_Push_Back_Pointer_To_Weak_Pointer 168.35998306469745 ns/iter 184.06908384787846 ns/iter 0.91
Schema_Frame_WoT_References 8142533.98058426 ns/iter 7315839.999999601 ns/iter 1.11
Schema_Frame_OMC_References 37714120.85000066 ns/iter 38516789.54999898 ns/iter 0.98
Schema_Frame_OMC_Locations 33625049.619039215 ns/iter 34921654.14999704 ns/iter 0.96
Schema_Frame_ISO_Language_Locations 109802783.2000298 ns/iter 127976524.99998549 ns/iter 0.86
Schema_Iterator_ISO_Language 3909751.8248180123 ns/iter 3793859.5191259044 ns/iter 1.03
Schema_PointerWalker_ISO_Language 6601149.553570653 ns/iter 7106981.063636588 ns/iter 0.93
Schema_Frame_ISO_Language_Locations_To_JSON 85447218.75000505 ns/iter 93213125.00001492 ns/iter 0.92
Schema_Tracker_ISO_Language 38899900.444448575 ns/iter 42392627.411766835 ns/iter 0.92
Schema_Tracker_ISO_Language_To_JSON 14591630.840000108 ns/iter 15482003.408163443 ns/iter 0.94
Schema_Format_ISO_Language_To_JSON 114392616.2000298 ns/iter 111017235.99999028 ns/iter 1.03
Schema_Bundle_Meta_2020_12 1559426.9400931254 ns/iter 1602970.4523199613 ns/iter 0.97
Alterschema_Check_Readibility_ISO_Language_Set_3 190103323.00001663 ns/iter 204306541.49998873 ns/iter 0.93
Alterschema_Check_Readibility_OMC 42199502.41175705 ns/iter 44327475.470588654 ns/iter 0.95

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: f67b79f Previous: 94ff49b Ratio
Alterschema_Check_Readibility_ISO_Language_Set_3 299984044.9999738 ns/iter 291179821.00001425 ns/iter 1.03
Alterschema_Check_Readibility_OMC 47489349.53333901 ns/iter 42617964.06250085 ns/iter 1.11
Schema_Frame_WoT_References 8159208.223529437 ns/iter 8127452.662789479 ns/iter 1.00
Schema_Frame_OMC_References 38464879.94444361 ns/iter 37551778.68421063 ns/iter 1.02
Schema_Frame_OMC_Locations 35931631.05262862 ns/iter 34734032.249991745 ns/iter 1.03
Schema_Frame_ISO_Language_Locations 185803799.75000483 ns/iter 183269524.24996534 ns/iter 1.01
Schema_Iterator_ISO_Language 4620971.93421061 ns/iter 4900306.358208514 ns/iter 0.94
Schema_PointerWalker_ISO_Language 4567929.190789013 ns/iter 4920560.179104555 ns/iter 0.93
Schema_Frame_ISO_Language_Locations_To_JSON 273216481.6666606 ns/iter 271844886.99996716 ns/iter 1.01
Schema_Tracker_ISO_Language 48274911.357144184 ns/iter 47618197.46666636 ns/iter 1.01
Schema_Tracker_ISO_Language_To_JSON 35088166.09524144 ns/iter 32875679.142859686 ns/iter 1.07
Schema_Format_ISO_Language_To_JSON 187629622.0000029 ns/iter 185509569.49997044 ns/iter 1.01
Schema_Bundle_Meta_2020_12 2414213.5085961027 ns/iter 2358228.087553437 ns/iter 1.02
Pointer_Object_Traverse 51.13320830827006 ns/iter 47.84249613033129 ns/iter 1.07
Pointer_Object_Try_Traverse 22.74751200051738 ns/iter 22.74050695260813 ns/iter 1.00
Pointer_Push_Back_Pointer_To_Weak_Pointer 142.52343452272308 ns/iter 157.89736758175596 ns/iter 0.90
JSON_Array_Of_Objects_Unique 416.9410407497603 ns/iter 388.71349714929653 ns/iter 1.07
JSON_Parse_1 33047.03307273154 ns/iter 33229.58568949991 ns/iter 0.99
JSON_Parse_Real 44221.19193146127 ns/iter 42785.77564454014 ns/iter 1.03
JSON_Parse_Decimal 158019.28719801322 ns/iter 154585.77647839434 ns/iter 1.02
JSON_Fast_Hash_Helm_Chart_Lock 63.32279297852294 ns/iter 55.266420962877525 ns/iter 1.15
JSON_Equality_Helm_Chart_Lock 158.97175444943804 ns/iter 152.9631877887628 ns/iter 1.04
JSON_String_Equal/10 6.618420436787832 ns/iter 6.3386605394492666 ns/iter 1.04
JSON_String_Equal/100 7.249244237078756 ns/iter 6.961276153778989 ns/iter 1.04
JSON_String_Equal_Small_By_Perfect_Hash/10 0.6243565839106647 ns/iter 0.9371366955122754 ns/iter 0.67
JSON_String_Equal_Small_By_Runtime_Perfect_Hash/10 13.855163128341726 ns/iter 13.4504939578736 ns/iter 1.03
JSON_String_Fast_Hash/10 1.946374720687407 ns/iter 1.9043886135725603 ns/iter 1.02
JSON_String_Fast_Hash/100 1.9443925630663523 ns/iter 1.9035902162148455 ns/iter 1.02
JSON_String_Key_Hash/10 1.2482736910669652 ns/iter 1.557006034895403 ns/iter 0.80
JSON_String_Key_Hash/100 12.43174315255319 ns/iter 12.429882811606527 ns/iter 1.00
JSON_Object_Defines_Miss_Same_Length 2.4902256334647794 ns/iter 2.489193086463555 ns/iter 1.00
JSON_Object_Defines_Miss_Too_Small 2.4902587591651897 ns/iter 2.4865622870952353 ns/iter 1.00
JSON_Object_Defines_Miss_Too_Large 2.490032704944638 ns/iter 2.4940354292074374 ns/iter 1.00
Regex_Lower_S_Or_Upper_S_Asterisk 3.1102798866320955 ns/iter 3.135182568990823 ns/iter 0.99
Regex_Caret_Lower_S_Or_Upper_S_Asterisk_Dollar 3.1123645358409426 ns/iter 3.1078293669804338 ns/iter 1.00
Regex_Period_Asterisk 3.1129632638426434 ns/iter 3.1161856479495973 ns/iter 1.00
Regex_Group_Period_Asterisk_Group 3.1085209271619267 ns/iter 3.1107435406094286 ns/iter 1.00
Regex_Period_Plus 2.8000850939159307 ns/iter 3.4189937990013237 ns/iter 0.82
Regex_Period 2.80138891199999 ns/iter 3.420453637985108 ns/iter 0.82
Regex_Caret_Period_Plus_Dollar 2.800270960582645 ns/iter 3.4228119634259033 ns/iter 0.82
Regex_Caret_Group_Period_Plus_Group_Dollar 2.7993622765789494 ns/iter 3.42062842419557 ns/iter 0.82
Regex_Caret_Period_Asterisk_Dollar 4.042230046828183 ns/iter 4.353449215950775 ns/iter 0.93
Regex_Caret_Group_Period_Asterisk_Group_Dollar 4.0451822710752765 ns/iter 4.362974017959686 ns/iter 0.93
Regex_Caret_X_Hyphen 13.064018525519199 ns/iter 13.685556724241852 ns/iter 0.95
Regex_Period_Md_Dollar 35.44600184238012 ns/iter 38.40429783952629 ns/iter 0.92
Regex_Caret_Slash_Period_Asterisk 8.702890211474104 ns/iter 9.32910744899939 ns/iter 0.93
Regex_Caret_Period_Range_Dollar 4.0408528637620655 ns/iter 4.352253585996068 ns/iter 0.93
Regex_Nested_Backtrack 57.24553507195499 ns/iter 62.915932200272415 ns/iter 0.91

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: f67b79f Previous: 94ff49b Ratio
Regex_Lower_S_Or_Upper_S_Asterisk 2.2162525016341266 ns/iter 2.0720786864552423 ns/iter 1.07
Regex_Caret_Lower_S_Or_Upper_S_Asterisk_Dollar 2.3908275895329454 ns/iter 2.0844815828361876 ns/iter 1.15
Regex_Period_Asterisk 2.463128679792592 ns/iter 2.1586218552896397 ns/iter 1.14
Regex_Group_Period_Asterisk_Group 2.481314234152269 ns/iter 2.1729526871439213 ns/iter 1.14
Regex_Period_Plus 2.2509247627528968 ns/iter 2.3590296211201176 ns/iter 0.95
Regex_Period 2.2782278048811997 ns/iter 2.3245435901506193 ns/iter 0.98
Regex_Caret_Period_Plus_Dollar 2.3021094358156415 ns/iter 2.2751029494039394 ns/iter 1.01
Regex_Caret_Group_Period_Plus_Group_Dollar 2.2690819514169247 ns/iter 2.44615498726894 ns/iter 0.93
Regex_Caret_Period_Asterisk_Dollar 2.2194812339514587 ns/iter 2.5520338928804893 ns/iter 0.87
Regex_Caret_Group_Period_Asterisk_Group_Dollar 2.1113752951411553 ns/iter 2.3501075524467168 ns/iter 0.90
Regex_Caret_X_Hyphen 6.377047969689117 ns/iter 6.66373805659189 ns/iter 0.96
Regex_Period_Md_Dollar 21.919782396652444 ns/iter 22.11329791920292 ns/iter 0.99
Regex_Caret_Slash_Period_Asterisk 5.094104766821374 ns/iter 4.9473784689992835 ns/iter 1.03
Regex_Caret_Period_Range_Dollar 2.2184742277969502 ns/iter 2.18125183412878 ns/iter 1.02
Regex_Nested_Backtrack 60.001325607299805 ns/iter 44.30249733922175 ns/iter 1.35
JSON_Array_Of_Objects_Unique 313.6193858279892 ns/iter 260.4250048876831 ns/iter 1.20
JSON_Parse_1 25901.726306947272 ns/iter 23692.219270395315 ns/iter 1.09
JSON_Parse_Real 30364.372112132885 ns/iter 24549.586450754683 ns/iter 1.24
JSON_Parse_Decimal 311578.4811536739 ns/iter 258026.30961972848 ns/iter 1.21
JSON_Fast_Hash_Helm_Chart_Lock 34.45022333025517 ns/iter 32.573652387099344 ns/iter 1.06
JSON_Equality_Helm_Chart_Lock 166.0988697696466 ns/iter 118.75320121901501 ns/iter 1.40
JSON_String_Equal/10 6.555370822906875 ns/iter 5.420192618412132 ns/iter 1.21
JSON_String_Equal/100 6.814697573007091 ns/iter 5.1201672117885355 ns/iter 1.33
JSON_String_Equal_Small_By_Perfect_Hash/10 0.9547052183066058 ns/iter 0.7731432995237474 ns/iter 1.23
JSON_String_Equal_Small_By_Runtime_Perfect_Hash/10 4.362851396859358 ns/iter 3.655255771083681 ns/iter 1.19
JSON_String_Fast_Hash/10 2.184244555668566 ns/iter 1.9365292938604006 ns/iter 1.13
JSON_String_Fast_Hash/100 2.026771285215389 ns/iter 2.0321192430310897 ns/iter 1.00
JSON_String_Key_Hash/10 1.5306260524013344 ns/iter 1.544709051444652 ns/iter 0.99
JSON_String_Key_Hash/100 2.888549469708437 ns/iter 2.7239695439215486 ns/iter 1.06
JSON_Object_Defines_Miss_Same_Length 1.9765738093866665 ns/iter 1.8727118661477362 ns/iter 1.06
JSON_Object_Defines_Miss_Too_Small 2.042564386972855 ns/iter 1.8739736984272801 ns/iter 1.09
JSON_Object_Defines_Miss_Too_Large 1.9330386903163197 ns/iter 1.964774774570787 ns/iter 0.98
Pointer_Object_Traverse 53.65909643678357 ns/iter 54.048153821810715 ns/iter 0.99
Pointer_Object_Try_Traverse 39.03913452913182 ns/iter 39.03654593214379 ns/iter 1.00
Pointer_Push_Back_Pointer_To_Weak_Pointer 164.61601710164368 ns/iter 161.8560616370116 ns/iter 1.02
Schema_Frame_WoT_References 9471923.49011385 ns/iter 7707378.599378798 ns/iter 1.23
Schema_Frame_OMC_References 53279859.679085866 ns/iter 38630061.67941623 ns/iter 1.38
Schema_Frame_OMC_Locations 57760289.73715646 ns/iter 37777950.88918585 ns/iter 1.53
Schema_Frame_ISO_Language_Locations 223013401.03149414 ns/iter 158175611.49597168 ns/iter 1.41
Schema_Iterator_ISO_Language 4687889.160648469 ns/iter 3481940.408447879 ns/iter 1.35
Schema_PointerWalker_ISO_Language 11130635.167511417 ns/iter 8549654.32049477 ns/iter 1.30
Schema_Frame_ISO_Language_Locations_To_JSON 154155552.38723755 ns/iter 153940737.24746704 ns/iter 1.00
Schema_Tracker_ISO_Language 43282172.259162456 ns/iter 38555484.06902113 ns/iter 1.12
Schema_Tracker_ISO_Language_To_JSON 27367787.701742988 ns/iter 25135206.139605977 ns/iter 1.09
Schema_Format_ISO_Language_To_JSON 165577232.837677 ns/iter 163301289.0815735 ns/iter 1.01
Schema_Bundle_Meta_2020_12 1957848.9851444326 ns/iter 2025138.9472715317 ns/iter 0.97
Alterschema_Check_Readibility_ISO_Language_Set_3 242919365.5649821 ns/iter 228162924.44864908 ns/iter 1.06
Alterschema_Check_Readibility_OMC 47450939.81424967 ns/iter 44829547.40524292 ns/iter 1.06

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