Skip to content

Implement a is_official_schema helper#2390

Merged
jviotti merged 3 commits into
mainfrom
is-official-schema-helper
May 20, 2026
Merged

Implement a is_official_schema helper#2390
jviotti merged 3 commits into
mainfrom
is-official-schema-helper

Conversation

@jviotti
Copy link
Copy Markdown
Member

@jviotti jviotti commented May 20, 2026

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

Signed-off-by: Juan Cruz Viotti <jv@jviotti.com>
Copy link
Copy Markdown

@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 5 files

Re-trigger cubic

@augmentcode
Copy link
Copy Markdown

augmentcode Bot commented May 20, 2026

🤖 Augment PR Summary

Summary: This PR introduces an is_official_schema() helper to distinguish JSON Schema Org-published schema URIs from other “known” resolvable schemas (notably OpenAPI dialect/meta URIs).

Changes:

  • Add new public API declaration for is_official_schema in the JSON Schema header
  • Update bundling logic to treat only official JSON Schema metaschema $schema references specially
  • Implement is_official_schema in the known resolver by excluding OpenAPI 3.1/3.2 identifiers
  • Add a bundle test that ensures an OpenAPI 3.1 dialect schema gets bundled with its dependencies into $defs
  • Add resolver tests covering many official draft/meta URIs and negative cases for OpenAPI + unknown identifiers

Why: Avoid treating OpenAPI $schema URIs as JSON Schema “official” metaschemas so bundling and dependency resolution behave as intended.

🤖 Was this summary useful? React with 👍 or 👎

Copy link
Copy Markdown

@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. 2 suggestions posted.

Fix All in Augment

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

case KnownSchema::OAS_3_1_META_BASE:
case KnownSchema::UNKNOWN:
return false;
default:
Copy link
Copy Markdown

@augmentcode augmentcode Bot May 20, 2026

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

src/core/jsonschema/known_resolver.in.cc:549: default: return true makes is_official_schema easy to misclassify if additional non-JSON-Schema “known” identifiers are added later (they’d silently become “official”). Consider making the mapping explicit so future additions fail safe instead of defaulting to official.

Severity: low

Fix This in Augment

🤖 Was this useful? React with 👍 or 👎, or 🚀 if it prevented an incident/outage.

Comment thread test/jsonschema/jsonschema_bundle_2020_12_test.cc
jviotti added 2 commits May 20, 2026 10:27
Signed-off-by: Juan Cruz Viotti <jv@jviotti.com>
Signed-off-by: Juan Cruz Viotti <jv@jviotti.com>
@jviotti jviotti merged commit 3c0e4e7 into main May 20, 2026
13 checks passed
@jviotti jviotti deleted the is-official-schema-helper branch May 20, 2026 14:45
Copy link
Copy Markdown

@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: 0f7768d Previous: 4e07bd7 Ratio
Regex_Lower_S_Or_Upper_S_Asterisk 2.1842978319405524 ns/iter 2.215816023209005 ns/iter 0.99
Regex_Caret_Lower_S_Or_Upper_S_Asterisk_Dollar 2.1785896013635244 ns/iter 2.177480054384881 ns/iter 1.00
Regex_Period_Asterisk 2.1823842583206843 ns/iter 2.1936033830358133 ns/iter 0.99
Regex_Group_Period_Asterisk_Group 2.178012482170593 ns/iter 2.1788788124569574 ns/iter 1.00
Regex_Period_Plus 2.804428799503441 ns/iter 2.5218545814018305 ns/iter 1.11
Regex_Period 2.4921945705024027 ns/iter 2.19043025247744 ns/iter 1.14
Regex_Caret_Period_Plus_Dollar 2.8034419878491645 ns/iter 2.496244778455982 ns/iter 1.12
Regex_Caret_Group_Period_Plus_Group_Dollar 2.49193364373239 ns/iter 2.1912221429134857 ns/iter 1.14
Regex_Caret_Period_Asterisk_Dollar 3.4267052829270006 ns/iter 2.188014155324442 ns/iter 1.57
Regex_Caret_Group_Period_Asterisk_Group_Dollar 3.1153089801354428 ns/iter 2.182059815631235 ns/iter 1.43
Regex_Caret_X_Hyphen 6.526220589911443 ns/iter 5.6112942719148915 ns/iter 1.16
Regex_Period_Md_Dollar 28.66833977628063 ns/iter 27.516733972786874 ns/iter 1.04
Regex_Caret_Slash_Period_Asterisk 6.222201340582581 ns/iter 6.227767789664891 ns/iter 1.00
Regex_Caret_Period_Range_Dollar 2.8003793647107904 ns/iter 3.733100566498871 ns/iter 0.75
Regex_Nested_Backtrack 38.10760008738201 ns/iter 37.259948997637615 ns/iter 1.02
JSON_Array_Of_Objects_Unique 383.3752717263957 ns/iter 385.6825153942306 ns/iter 0.99
JSON_Parse_1 5852.39109515772 ns/iter 5969.120948656737 ns/iter 0.98
JSON_Parse_Real 11091.148943260278 ns/iter 11440.502244494555 ns/iter 0.97
JSON_Parse_Decimal 10928.85748255653 ns/iter 11068.125084191199 ns/iter 0.99
JSON_Parse_Schema_ISO_Language 3568130.903061023 ns/iter 3642955.3937826226 ns/iter 0.98
JSON_Fast_Hash_Helm_Chart_Lock 54.04646441562806 ns/iter 53.83576593484296 ns/iter 1.00
JSON_Equality_Helm_Chart_Lock 161.17667368169487 ns/iter 164.1690804143212 ns/iter 0.98
JSON_Divisible_By_Decimal 244.63447473409866 ns/iter 246.89985758266332 ns/iter 0.99
JSON_String_Equal/10 6.23502370333448 ns/iter 6.242708698805134 ns/iter 1.00
JSON_String_Equal/100 6.859185868468597 ns/iter 6.863577982092663 ns/iter 1.00
JSON_String_Equal_Small_By_Perfect_Hash/10 0.9371418263676377 ns/iter 0.9369164288716597 ns/iter 1.00
JSON_String_Equal_Small_By_Runtime_Perfect_Hash/10 14.662326379316776 ns/iter 14.679764286907588 ns/iter 1.00
JSON_String_Fast_Hash/10 2.1801822209658233 ns/iter 2.2857629191506867 ns/iter 0.95
JSON_String_Fast_Hash/100 2.186482603710705 ns/iter 2.180674672559625 ns/iter 1.00
JSON_String_Key_Hash/10 2.6477771357649207 ns/iter 2.660366451788181 ns/iter 1.00
JSON_String_Key_Hash/100 9.028677409243352 ns/iter 9.0328413207996 ns/iter 1.00
JSON_Object_Defines_Miss_Same_Length 3.749792864726554 ns/iter 3.741339567048239 ns/iter 1.00
JSON_Object_Defines_Miss_Too_Small 3.739589921781996 ns/iter 3.7412602036163025 ns/iter 1.00
JSON_Object_Defines_Miss_Too_Large 3.739138322365072 ns/iter 3.74162760853749 ns/iter 1.00
Pointer_Object_Traverse 25.902815370351046 ns/iter 24.40025574565252 ns/iter 1.06
Pointer_Object_Try_Traverse 26.113764152422963 ns/iter 26.70013785701192 ns/iter 0.98
Pointer_Push_Back_Pointer_To_Weak_Pointer 175.2596095780294 ns/iter 207.000602835446 ns/iter 0.85
Pointer_Walker_Schema_ISO_Language 3015839.643777022 ns/iter 3101508.4866068726 ns/iter 0.97
Pointer_Maybe_Tracked_Deeply_Nested/0 1363016.3438113884 ns/iter 1475243.4202586857 ns/iter 0.92
Pointer_Maybe_Tracked_Deeply_Nested/1 1848434.1994821 ns/iter 1890909.8699185317 ns/iter 0.98
Pointer_Position_Tracker_Get_Deeply_Nested 577.2021765062174 ns/iter 606.4808174023315 ns/iter 0.95
Schema_Frame_WoT_References 5218523.51127813 ns/iter 5225150.6888894625 ns/iter 1.00
Schema_Frame_OMC_References 21669487.281251065 ns/iter 24200025.75862045 ns/iter 0.90
Schema_Frame_OMC_Locations 19722375.48571424 ns/iter 22010625.56250122 ns/iter 0.90
Schema_Frame_ISO_Language_Locations 104550133.83331865 ns/iter 109470124.16666742 ns/iter 0.96
Schema_Frame_KrakenD_References 39173465.352940395 ns/iter 46315129.39999994 ns/iter 0.85
Schema_Frame_KrakenD_Reachable 585601400.9999626 ns/iter 681678427.0000653 ns/iter 0.86
Schema_Iterator_ISO_Language 2932404.2166668577 ns/iter 2969558.400843701 ns/iter 0.99
Schema_Frame_ISO_Language_Locations_To_JSON 112558267.4000043 ns/iter 120090738.50000125 ns/iter 0.94
Schema_Tracker_ISO_Language 4520736.735484236 ns/iter 4780401.848275405 ns/iter 0.95
Schema_Tracker_ISO_Language_To_JSON 19507530.555557653 ns/iter 19896357.457141023 ns/iter 0.98
Schema_Format_ISO_Language_To_JSON 106803821.83333373 ns/iter 119770341.6000195 ns/iter 0.89
Schema_Bundle_Meta_2020_12 1694538.5205829905 ns/iter 1681376.9639416437 ns/iter 1.01
Schema_Frame_Many_Resources_References 381527691.9999633 ns/iter 398452088.9999885 ns/iter 0.96
EditorSchema_ForEditor_EmbeddedResources 13912819.499989836 ns/iter 14795297.499999736 ns/iter 0.94
URITemplateRouter_Create 32068.47067759252 ns/iter 32384.23874620058 ns/iter 0.99
URITemplateRouter_Match 170.51379726443946 ns/iter 177.06833847756155 ns/iter 0.96
URITemplateRouter_Match_BasePath 197.28626414470816 ns/iter 202.42473759989747 ns/iter 0.97
URITemplateRouterView_Restore 7859.131262986834 ns/iter 7821.773465043639 ns/iter 1.00
URITemplateRouterView_Match 143.34487196797954 ns/iter 144.20293304861866 ns/iter 0.99
URITemplateRouterView_Match_BasePath 164.46037766078337 ns/iter 163.58881931485084 ns/iter 1.01
URITemplateRouterView_Arguments 454.9612341628409 ns/iter 421.0483665633851 ns/iter 1.08
JSONL_Parse_Large 10753348.292307517 ns/iter 10603400.681818034 ns/iter 1.01
JSONL_Parse_Large_GZIP 12033681.440677078 ns/iter 11886804.050845966 ns/iter 1.01
HTML_Build_Table_100000 63625596.90909496 ns/iter 74650690.00000891 ns/iter 0.85
HTML_Render_Table_100000 5282414.007692401 ns/iter 6285420.834862442 ns/iter 0.84
GZIP_Compress_ISO_Language_Set_3_Locations 34326757.39999808 ns/iter 35971511.20000035 ns/iter 0.95
GZIP_Decompress_ISO_Language_Set_3_Locations 4970458.2357143015 ns/iter 5715098.715447637 ns/iter 0.87
GZIP_Compress_ISO_Language_Set_3_Schema 1875427.1689007066 ns/iter 1950983.35734089 ns/iter 0.96
GZIP_Decompress_ISO_Language_Set_3_Schema 378978.1499729419 ns/iter 380722.7195652089 ns/iter 1.00

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

Copy link
Copy Markdown

@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: 0f7768d Previous: 4e07bd7 Ratio
Regex_Lower_S_Or_Upper_S_Asterisk 1.7739610834967299 ns/iter 2.1688320953585647 ns/iter 0.82
Regex_Caret_Lower_S_Or_Upper_S_Asterisk_Dollar 1.7234194971526595 ns/iter 2.556601908513 ns/iter 0.67
Regex_Period_Asterisk 1.8754680940356627 ns/iter 2.4376557605161 ns/iter 0.77
Regex_Group_Period_Asterisk_Group 1.7127790659950124 ns/iter 2.2521172919510133 ns/iter 0.76
Regex_Period_Plus 2.0601032954536267 ns/iter 2.57281627355555 ns/iter 0.80
Regex_Period 2.108253813352812 ns/iter 2.7313455515809775 ns/iter 0.77
Regex_Caret_Period_Plus_Dollar 2.0294433462509476 ns/iter 2.7016049301261678 ns/iter 0.75
Regex_Caret_Group_Period_Plus_Group_Dollar 2.2731874634185436 ns/iter 2.591747808301555 ns/iter 0.88
Regex_Caret_Period_Asterisk_Dollar 1.8589153740395241 ns/iter 2.272029655877509 ns/iter 0.82
Regex_Caret_Group_Period_Asterisk_Group_Dollar 1.7420101928756446 ns/iter 2.209546236595367 ns/iter 0.79
Regex_Caret_X_Hyphen 6.1687221679483955 ns/iter 7.856647485251075 ns/iter 0.79
Regex_Period_Md_Dollar 16.594261744335558 ns/iter 25.257683044716188 ns/iter 0.66
Regex_Caret_Slash_Period_Asterisk 8.073607718371703 ns/iter 9.983817684107205 ns/iter 0.81
Regex_Caret_Period_Range_Dollar 1.6919343568156948 ns/iter 2.2027347780308957 ns/iter 0.77
Regex_Nested_Backtrack 24.485141997359822 ns/iter 36.555068159701726 ns/iter 0.67
JSON_Array_Of_Objects_Unique 343.53107480052165 ns/iter 465.21646016581263 ns/iter 0.74
JSON_Parse_1 4165.712104937635 ns/iter 5648.965038829293 ns/iter 0.74
JSON_Parse_Real 6439.598804346575 ns/iter 8807.620737083658 ns/iter 0.73
JSON_Parse_Decimal 8012.252774537024 ns/iter 12016.76003055358 ns/iter 0.67
JSON_Parse_Schema_ISO_Language 4700851.608186517 ns/iter 5540285.98484861 ns/iter 0.85
JSON_Fast_Hash_Helm_Chart_Lock 69.27698508472336 ns/iter 81.77789357373712 ns/iter 0.85
JSON_Equality_Helm_Chart_Lock 178.4397628231092 ns/iter 180.20200455460832 ns/iter 0.99
JSON_Divisible_By_Decimal 190.99378351853073 ns/iter 241.2721177221008 ns/iter 0.79
JSON_String_Equal/10 7.238345368487697 ns/iter 10.656268859488556 ns/iter 0.68
JSON_String_Equal/100 6.708037323691214 ns/iter 12.131502331612026 ns/iter 0.55
JSON_String_Equal_Small_By_Perfect_Hash/10 0.752583031148948 ns/iter 1.374290376370599 ns/iter 0.55
JSON_String_Equal_Small_By_Runtime_Perfect_Hash/10 3.45095938866884 ns/iter 5.18946958000015 ns/iter 0.66
JSON_String_Fast_Hash/10 2.3754512010390165 ns/iter 3.0054912226622075 ns/iter 0.79
JSON_String_Fast_Hash/100 2.2560069526010404 ns/iter 2.90340272125 ns/iter 0.78
JSON_String_Key_Hash/10 1.511939411495544 ns/iter 2.0049715752197614 ns/iter 0.75
JSON_String_Key_Hash/100 2.22308169524393 ns/iter 3.7254746608705727 ns/iter 0.60
JSON_Object_Defines_Miss_Same_Length 2.4765020035022167 ns/iter 3.873230135233123 ns/iter 0.64
JSON_Object_Defines_Miss_Too_Small 2.426844692010742 ns/iter 3.3271505182629313 ns/iter 0.73
JSON_Object_Defines_Miss_Too_Large 2.7626762024277327 ns/iter 3.493565684105626 ns/iter 0.79
Pointer_Object_Traverse 17.584614364639126 ns/iter 20.09465384793104 ns/iter 0.88
Pointer_Object_Try_Traverse 19.589312502747067 ns/iter 26.862578698860474 ns/iter 0.73
Pointer_Push_Back_Pointer_To_Weak_Pointer 155.32862961715773 ns/iter 222.7023003290036 ns/iter 0.70
Pointer_Walker_Schema_ISO_Language 4468933.388890082 ns/iter 6796021.499999442 ns/iter 0.66
Pointer_Maybe_Tracked_Deeply_Nested/0 1118348.0027399776 ns/iter 1824593.2377258989 ns/iter 0.61
Pointer_Maybe_Tracked_Deeply_Nested/1 1382403.7907869928 ns/iter 2436177.315457424 ns/iter 0.57
Pointer_Position_Tracker_Get_Deeply_Nested 356.27687595518773 ns/iter 488.07974998240957 ns/iter 0.73
Schema_Frame_WoT_References 4755200.559701286 ns/iter 8942304.999998214 ns/iter 0.53
Schema_Frame_OMC_References 27291987.192309257 ns/iter 38887867.647056684 ns/iter 0.70
Schema_Frame_OMC_Locations 26776905.172419935 ns/iter 32296703.666664448 ns/iter 0.83
Schema_Frame_ISO_Language_Locations 77148854.24999806 ns/iter 113424533.39998429 ns/iter 0.68
Schema_Frame_KrakenD_References 53785993.53847536 ns/iter 72834666.72726552 ns/iter 0.74
Schema_Frame_KrakenD_Reachable 461131270.9998856 ns/iter 697859625.0000919 ns/iter 0.66
Schema_Iterator_ISO_Language 2613675.3533568024 ns/iter 3408736.7788460967 ns/iter 0.77
Schema_Frame_ISO_Language_Locations_To_JSON 84764053.57142928 ns/iter 131231979.25000341 ns/iter 0.65
Schema_Tracker_ISO_Language 6012907.734694469 ns/iter 7030518.94805123 ns/iter 0.86
Schema_Tracker_ISO_Language_To_JSON 13525444.437500292 ns/iter 21461732.142850973 ns/iter 0.63
Schema_Format_ISO_Language_To_JSON 79182226.77780148 ns/iter 116877035.0000159 ns/iter 0.68
Schema_Bundle_Meta_2020_12 1308105.7667937418 ns/iter 1697949.5953491582 ns/iter 0.77
Schema_Frame_Many_Resources_References 345145583.4999706 ns/iter 383522603.99994975 ns/iter 0.90
EditorSchema_ForEditor_EmbeddedResources 15444258.641489899 ns/iter 13539787.074069796 ns/iter 1.14
URITemplateRouter_Create 32437.126899424045 ns/iter 29827.320940986287 ns/iter 1.09
URITemplateRouter_Match 185.88463225389242 ns/iter 225.72401003276553 ns/iter 0.82
URITemplateRouter_Match_BasePath 250.03168437116886 ns/iter 289.3029274068922 ns/iter 0.86
URITemplateRouterView_Restore 9870.002243702736 ns/iter 19666.370307024456 ns/iter 0.50
URITemplateRouterView_Match 133.1322493935837 ns/iter 161.5407238280068 ns/iter 0.82
URITemplateRouterView_Match_BasePath 153.4382860911723 ns/iter 204.69640544298602 ns/iter 0.75
URITemplateRouterView_Arguments 415.6862979550535 ns/iter 499.1020357252382 ns/iter 0.83
JSONL_Parse_Large 12635805.053568965 ns/iter 16717249.00000011 ns/iter 0.76
JSONL_Parse_Large_GZIP 13948914.351852147 ns/iter 16610021.874998892 ns/iter 0.84
HTML_Build_Table_100000 65877428.000000946 ns/iter 77060559.57143171 ns/iter 0.85
HTML_Render_Table_100000 3954405.859259943 ns/iter 5271036.273382006 ns/iter 0.75
GZIP_Compress_ISO_Language_Set_3_Locations 28653465.249997605 ns/iter 37503901.31579862 ns/iter 0.76
GZIP_Decompress_ISO_Language_Set_3_Locations 6115037.278195608 ns/iter 7387877.236560696 ns/iter 0.83
GZIP_Compress_ISO_Language_Set_3_Schema 1768911.1586541082 ns/iter 1905099.6031745896 ns/iter 0.93
GZIP_Decompress_ISO_Language_Set_3_Schema 298679.0101545262 ns/iter 297680.0368550082 ns/iter 1.00

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

Copy link
Copy Markdown

@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: 0f7768d Previous: 4e07bd7 Ratio
Regex_Lower_S_Or_Upper_S_Asterisk 8.881983258928829 ns/iter 6.834296874999828 ns/iter 1.30
Regex_Caret_Lower_S_Or_Upper_S_Asterisk_Dollar 8.821247767856834 ns/iter 6.875789062501525 ns/iter 1.28
Regex_Period_Asterisk 8.822864955358208 ns/iter 6.834991964286782 ns/iter 1.29
Regex_Group_Period_Asterisk_Group 8.8265111607149 ns/iter 6.932564285713332 ns/iter 1.27
Regex_Period_Plus 11.388706249999103 ns/iter 8.747146835949636 ns/iter 1.30
Regex_Period 11.279446428570088 ns/iter 8.74842317523115 ns/iter 1.29
Regex_Caret_Period_Plus_Dollar 11.281014062500816 ns/iter 8.744066478822216 ns/iter 1.29
Regex_Caret_Group_Period_Plus_Group_Dollar 11.30418593749738 ns/iter 8.745186383927818 ns/iter 1.29
Regex_Caret_Period_Asterisk_Dollar 8.843852639090168 ns/iter 6.834017857142628 ns/iter 1.29
Regex_Caret_Group_Period_Asterisk_Group_Dollar 8.826907142857213 ns/iter 6.8370517857151265 ns/iter 1.29
Regex_Caret_X_Hyphen 13.760588108208584 ns/iter 10.664982541671527 ns/iter 1.29
Regex_Period_Md_Dollar 40.80795233225722 ns/iter 31.297035714286736 ns/iter 1.30
Regex_Caret_Slash_Period_Asterisk 13.059716071430621 ns/iter 10.11693437499872 ns/iter 1.29
Regex_Caret_Period_Range_Dollar 11.29022968749993 ns/iter 8.745415139528447 ns/iter 1.29
Regex_Nested_Backtrack 50.22802999999385 ns/iter 38.9044419642889 ns/iter 1.29
JSON_Array_Of_Objects_Unique 496.10562421760204 ns/iter 382.6204799107304 ns/iter 1.30
JSON_Parse_1 7736.75334821533 ns/iter 5998.692857143543 ns/iter 1.29
JSON_Parse_Real 13997.918759292448 ns/iter 10846.960937499261 ns/iter 1.29
JSON_Parse_Decimal 15163.640625002829 ns/iter 11234.684375001081 ns/iter 1.35
JSON_Parse_Schema_ISO_Language 6345441.071427363 ns/iter 5350404.000000708 ns/iter 1.19
JSON_Fast_Hash_Helm_Chart_Lock 65.43535714286008 ns/iter 47.25638006534642 ns/iter 1.38
JSON_Equality_Helm_Chart_Lock 276.92235370875966 ns/iter 227.14912499999684 ns/iter 1.22
JSON_Divisible_By_Decimal 260.70958306734354 ns/iter 199.84240402487697 ns/iter 1.30
JSON_String_Equal/10 12.068139285714453 ns/iter 9.108329423624737 ns/iter 1.32
JSON_String_Equal/100 13.62419419642943 ns/iter 10.28379531250323 ns/iter 1.32
JSON_String_Equal_Small_By_Perfect_Hash/10 2.120769687500257 ns/iter 1.6407140859198175 ns/iter 1.29
JSON_String_Equal_Small_By_Runtime_Perfect_Hash/10 11.959639285712294 ns/iter 9.218930315988127 ns/iter 1.30
JSON_String_Fast_Hash/10 3.6772198660704545 ns/iter 2.7891554662597153 ns/iter 1.32
JSON_String_Fast_Hash/100 3.6310195312503977 ns/iter 2.792455442689038 ns/iter 1.30
JSON_String_Key_Hash/10 4.596768627106238 ns/iter 3.5653710650621284 ns/iter 1.29
JSON_String_Key_Hash/100 16.995252787979283 ns/iter 13.398678571430114 ns/iter 1.27
JSON_Object_Defines_Miss_Same_Length 4.0070781249994525 ns/iter 2.99355000000036 ns/iter 1.34
JSON_Object_Defines_Miss_Too_Small 5.301224000002094 ns/iter 3.843877232142999 ns/iter 1.38
JSON_Object_Defines_Miss_Too_Large 3.9164782366071393 ns/iter 2.99422696027626 ns/iter 1.31
Pointer_Object_Traverse 42.78343125000106 ns/iter 33.03302395363792 ns/iter 1.30
Pointer_Object_Try_Traverse 53.718360000016226 ns/iter 40.95949218750101 ns/iter 1.31
Pointer_Push_Back_Pointer_To_Weak_Pointer 165.9231249999798 ns/iter 136.59989285713436 ns/iter 1.21
Pointer_Walker_Schema_ISO_Language 12870457.142858934 ns/iter 9948302.666665161 ns/iter 1.29
Pointer_Maybe_Tracked_Deeply_Nested/0 2094094.6969694847 ns/iter 1582627.8260871165 ns/iter 1.32
Pointer_Maybe_Tracked_Deeply_Nested/1 3158724.152541963 ns/iter 2585174.58193993 ns/iter 1.22
Pointer_Position_Tracker_Get_Deeply_Nested 646.5470680798753 ns/iter 480.25741071435436 ns/iter 1.35
Schema_Frame_WoT_References 10277079.999999236 ns/iter 8053848.888890672 ns/iter 1.28
Schema_Frame_OMC_References 45325331.24999816 ns/iter 33939215.78946758 ns/iter 1.34
Schema_Frame_OMC_Locations 41657894.11764736 ns/iter 31998827.272735238 ns/iter 1.30
Schema_Frame_ISO_Language_Locations 200795666.66671172 ns/iter 151388150.0000025 ns/iter 1.33
Schema_Frame_KrakenD_References 96298757.14287145 ns/iter 70367922.22222883 ns/iter 1.37
Schema_Frame_KrakenD_Reachable 545838000.0002308 ns/iter 398980550.00003296 ns/iter 1.37
Schema_Iterator_ISO_Language 6802349.107141076 ns/iter 5119862.499999581 ns/iter 1.33
Schema_Frame_ISO_Language_Locations_To_JSON 306590400.0000046 ns/iter 250662366.66665038 ns/iter 1.22
Schema_Tracker_ISO_Language 9858518.750000656 ns/iter 7808886.666667705 ns/iter 1.26
Schema_Tracker_ISO_Language_To_JSON 53514939.999990925 ns/iter 38800668.42104593 ns/iter 1.38
Schema_Format_ISO_Language_To_JSON 200227666.66663 ns/iter 151864574.99993366 ns/iter 1.32
Schema_Bundle_Meta_2020_12 2854808.05084871 ns/iter 2202953.124992746 ns/iter 1.30
Schema_Frame_Many_Resources_References 1514431299.999842 ns/iter 1149699999.999939 ns/iter 1.32
EditorSchema_ForEditor_EmbeddedResources 30270495.454580918 ns/iter 23122483.33329687 ns/iter 1.31
URITemplateRouter_Create 36484.392648110224 ns/iter 29234.633773959096 ns/iter 1.25
URITemplateRouter_Match 221.55368749999127 ns/iter 184.25789403515765 ns/iter 1.20
URITemplateRouter_Match_BasePath 255.58389285720298 ns/iter 204.43010297522693 ns/iter 1.25
URITemplateRouterView_Restore 23664.522717379416 ns/iter 17978.51498673934 ns/iter 1.32
URITemplateRouterView_Match 156.02633928573084 ns/iter 121.64807812499845 ns/iter 1.28
URITemplateRouterView_Match_BasePath 184.07859679270047 ns/iter 137.65533537254302 ns/iter 1.34
URITemplateRouterView_Arguments 443.1168062549798 ns/iter 342.61453256889195 ns/iter 1.29
JSONL_Parse_Large 27898924.000000987 ns/iter 21373809.374999553 ns/iter 1.31
JSONL_Parse_Large_GZIP 27658026.923081007 ns/iter 21196906.25000459 ns/iter 1.30
HTML_Build_Table_100000 91084671.4285916 ns/iter 73160833.33332951 ns/iter 1.24
HTML_Render_Table_100000 7735929.999999927 ns/iter 6752545.535714408 ns/iter 1.15
GZIP_Compress_ISO_Language_Set_3_Locations 43662852.941171125 ns/iter 33236728.57143157 ns/iter 1.31
GZIP_Decompress_ISO_Language_Set_3_Locations 11366401.562501239 ns/iter 8494376.66666846 ns/iter 1.34
GZIP_Compress_ISO_Language_Set_3_Schema 2544038.928571776 ns/iter 1897436.9973191633 ns/iter 1.34
GZIP_Decompress_ISO_Language_Set_3_Schema 602112.9464286901 ns/iter 471974.74882794323 ns/iter 1.28

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

Copy link
Copy Markdown

@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: 0f7768d Previous: 4e07bd7 Ratio
GZIP_Compress_ISO_Language_Set_3_Locations 38858090.444440074 ns/iter 41373521.88235234 ns/iter 0.94
GZIP_Decompress_ISO_Language_Set_3_Locations 4832989.977940957 ns/iter 4690770.986486941 ns/iter 1.03
GZIP_Compress_ISO_Language_Set_3_Schema 2095031.7402984276 ns/iter 2345217.668896164 ns/iter 0.89
GZIP_Decompress_ISO_Language_Set_3_Schema 394991.61712992174 ns/iter 315765.74586682866 ns/iter 1.25
HTML_Build_Table_100000 62712597.27273817 ns/iter 65868004.00001183 ns/iter 0.95
HTML_Render_Table_100000 1859812.3171353615 ns/iter 2041820.0207713624 ns/iter 0.91
JSONL_Parse_Large 13120553.603773758 ns/iter 12402324.21428443 ns/iter 1.06
JSONL_Parse_Large_GZIP 14208374.836735688 ns/iter 13633153.372545755 ns/iter 1.04
URITemplateRouter_Create 30171.807682378076 ns/iter 29139.59418363369 ns/iter 1.04
URITemplateRouter_Match 174.41862181812746 ns/iter 172.84562568729464 ns/iter 1.01
URITemplateRouter_Match_BasePath 196.22529745374743 ns/iter 205.6532024511238 ns/iter 0.95
URITemplateRouterView_Restore 7588.390728121816 ns/iter 8680.66644556649 ns/iter 0.87
URITemplateRouterView_Match 143.86776468325857 ns/iter 131.7397087739404 ns/iter 1.09
URITemplateRouterView_Match_BasePath 162.6438062268859 ns/iter 156.21911413545146 ns/iter 1.04
URITemplateRouterView_Arguments 479.5896375801939 ns/iter 456.3296218949143 ns/iter 1.05
EditorSchema_ForEditor_EmbeddedResources 13867828.45998823 ns/iter 14210331.734681616 ns/iter 0.98
Schema_Frame_WoT_References 5342196.267176529 ns/iter 5539392.267717015 ns/iter 0.96
Schema_Frame_OMC_References 22663142.781247813 ns/iter 24400310.17240942 ns/iter 0.93
Schema_Frame_OMC_Locations 20569761.97059157 ns/iter 21948404.129034314 ns/iter 0.94
Schema_Frame_ISO_Language_Locations 100222891.85712907 ns/iter 105357994.57144484 ns/iter 0.95
Schema_Frame_KrakenD_References 41256515.882356755 ns/iter 44811876.533337146 ns/iter 0.92
Schema_Frame_KrakenD_Reachable 561541966.0002772 ns/iter 616918586.0001107 ns/iter 0.91
Schema_Iterator_ISO_Language 3272488.6103293067 ns/iter 3276210.2499999995 ns/iter 1.00
Schema_Frame_ISO_Language_Locations_To_JSON 213374073.666652 ns/iter 233320606.0000066 ns/iter 0.91
Schema_Tracker_ISO_Language 4791989.945206359 ns/iter 4498635.331169799 ns/iter 1.07
Schema_Tracker_ISO_Language_To_JSON 22957546.54838792 ns/iter 22119303.56250491 ns/iter 1.04
Schema_Format_ISO_Language_To_JSON 109751439.00001664 ns/iter 112687587.33334987 ns/iter 0.97
Schema_Bundle_Meta_2020_12 1762799.5843899415 ns/iter 1750699.6924981878 ns/iter 1.01
Schema_Frame_Many_Resources_References 379555651.0000324 ns/iter 404575825.50004643 ns/iter 0.94
Pointer_Object_Traverse 24.73170924066684 ns/iter 30.676826664808218 ns/iter 0.81
Pointer_Object_Try_Traverse 22.53772625688795 ns/iter 22.129946374590425 ns/iter 1.02
Pointer_Push_Back_Pointer_To_Weak_Pointer 153.25422826917335 ns/iter 169.86018818172283 ns/iter 0.90
Pointer_Walker_Schema_ISO_Language 3505624.276189814 ns/iter 3768810.5081962706 ns/iter 0.93
Pointer_Maybe_Tracked_Deeply_Nested/0 1608182.8594473512 ns/iter 1542761.280973082 ns/iter 1.04
Pointer_Maybe_Tracked_Deeply_Nested/1 1816273.3341969592 ns/iter 1729129.3901232649 ns/iter 1.05
Pointer_Position_Tracker_Get_Deeply_Nested 462.06394316287333 ns/iter 544.2648661929309 ns/iter 0.85
JSON_Array_Of_Objects_Unique 415.9661386684603 ns/iter 418.35800644234257 ns/iter 0.99
JSON_Parse_1 8094.324032631029 ns/iter 7753.8987857840575 ns/iter 1.04
JSON_Parse_Real 12506.950899609146 ns/iter 11784.747918031482 ns/iter 1.06
JSON_Parse_Decimal 18052.742782153575 ns/iter 16080.539400795074 ns/iter 1.12
JSON_Parse_Schema_ISO_Language 4723280.825503587 ns/iter 4661827.313332954 ns/iter 1.01
JSON_Fast_Hash_Helm_Chart_Lock 72.19803817574146 ns/iter 58.963484599745705 ns/iter 1.22
JSON_Equality_Helm_Chart_Lock 164.34014889060762 ns/iter 185.96692220108474 ns/iter 0.88
JSON_Divisible_By_Decimal 236.26622063032556 ns/iter 232.39044760682478 ns/iter 1.02
JSON_String_Equal/10 6.681564257176963 ns/iter 6.481194175853576 ns/iter 1.03
JSON_String_Equal/100 7.006698988894093 ns/iter 7.189452685756971 ns/iter 0.97
JSON_String_Equal_Small_By_Perfect_Hash/10 0.6233788792618086 ns/iter 0.7144442008417612 ns/iter 0.87
JSON_String_Equal_Small_By_Runtime_Perfect_Hash/10 25.193882993532004 ns/iter 21.93282301618727 ns/iter 1.15
JSON_String_Fast_Hash/10 0.9339467315660643 ns/iter 1.7590330958719875 ns/iter 0.53
JSON_String_Fast_Hash/100 0.93463648707451 ns/iter 1.758933365270315 ns/iter 0.53
JSON_String_Key_Hash/10 1.5598460752577226 ns/iter 1.0859438914824155 ns/iter 1.44
JSON_String_Key_Hash/100 12.435520191633662 ns/iter 14.756176366672044 ns/iter 0.84
JSON_Object_Defines_Miss_Same_Length 3.445846601531578 ns/iter 3.8719929205174513 ns/iter 0.89
JSON_Object_Defines_Miss_Too_Small 3.1142238369911253 ns/iter 4.220438826736657 ns/iter 0.74
JSON_Object_Defines_Miss_Too_Large 3.73701255612547 ns/iter 3.519075593142408 ns/iter 1.06
Regex_Lower_S_Or_Upper_S_Asterisk 0.9339452317189397 ns/iter 0.7032379442809352 ns/iter 1.33
Regex_Caret_Lower_S_Or_Upper_S_Asterisk_Dollar 0.9337943941101177 ns/iter 0.7087892231248594 ns/iter 1.32
Regex_Period_Asterisk 0.6225605325974164 ns/iter 1.0551827552459265 ns/iter 0.59
Regex_Group_Period_Asterisk_Group 0.622343232908026 ns/iter 1.0554438860310424 ns/iter 0.59
Regex_Period_Plus 0.933320792779489 ns/iter 0.7037110313123951 ns/iter 1.33
Regex_Period 0.9334683186380675 ns/iter 0.7039487310509397 ns/iter 1.33
Regex_Caret_Period_Plus_Dollar 0.6234540031222943 ns/iter 1.0551869977195236 ns/iter 0.59
Regex_Caret_Group_Period_Plus_Group_Dollar 0.6227468226221174 ns/iter 1.0546695123476026 ns/iter 0.59
Regex_Caret_Period_Asterisk_Dollar 0.9348004802742501 ns/iter 0.7033901367058467 ns/iter 1.33
Regex_Caret_Group_Period_Asterisk_Group_Dollar 0.9363646239243423 ns/iter 0.704654690056738 ns/iter 1.33
Regex_Caret_X_Hyphen 4.359816714407991 ns/iter 3.869998346832957 ns/iter 1.13
Regex_Period_Md_Dollar 34.89165535456723 ns/iter 34.31333442104826 ns/iter 1.02
Regex_Caret_Slash_Period_Asterisk 4.355408115944751 ns/iter 4.5731931414612115 ns/iter 0.95
Regex_Caret_Period_Range_Dollar 0.9340865286015657 ns/iter 0.8408585971506749 ns/iter 1.11
Regex_Nested_Backtrack 39.13513267412484 ns/iter 38.096773933510605 ns/iter 1.03

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.

1 participant