Skip to content

Properly resolve externalDocs when bundling OpenAPI schema objects - #3038

Merged
jviotti merged 5 commits into
mainfrom
bundle-oas-externaldocs
Oct 28, 2026
Merged

jviotti merged 5 commits into
mainfrom
bundle-oas-externaldocs

Conversation

@jviotti

@jviotti jviotti commented Oct 28, 2026 •

Copy link
Copy Markdown
Member

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

View guided diff

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

augmentcode Bot commented Oct 28, 2026

Copy link
Copy Markdown
🤖 Augment PR Summary

Summary: Preserves OpenAPI documentation targets when remote schemas are bundled into another document.
Changes:

  • Adds a helper to resolve and canonicalize documentation URIs.
  • Restates externalDocs.url before embedding remote schemas.
  • Uses each framed subschema's base URI, including declared identifiers.
  • Checks the active dialect before interpreting externalDocs.
  • Leaves entry-document documentation and unrelated dialect keywords unchanged.
  • Preserves missing, non-string, and unparsable documentation URLs.
  • Resolves relative, empty, and fragment-only documentation references.
  • Adds fixtures covering OpenAPI 3.0, 3.1, 3.2, and JSON Schema 2020-12.

🤖 Was this summary useful? React with 👍 or 👎

@augmentcode augmentcode Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

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

Review completed. 1 suggestion posted.

Fix All in Augment

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

Comment thread src/core/jsonschema/bundle.cc Outdated
// resolved against an identity of its own, which the embedding is about to
// drop wherever the dialect reserves no keyword to carry it
if (depth > 0) {
restate_external_documentation(subschema, frame, walker, resolver);

@augmentcode augmentcode Bot Oct 28, 2026 •

Copy link
Copy Markdown

Choose a reason for hiding this comment

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

If the entry $defs and a fetched document both contain an identical OpenAPI resource keyed by its absolute $id, src/core/jsonschema/bundle.cc:776-777 rewrites externalDocs.url: "docs.html" only in the fetched copy. Could you check this against elevate_embedded_resources() (src/core/jsonschema/bundle.cc:696-710), whose structural comparison then throws Conflicting embedded resources with the same identifier despite the resources originally being identical?

Severity: medium

Fix This in Augment

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

@github-actions

github-actions Bot commented Oct 28, 2026 •

Copy link
Copy Markdown

Benchmark linux/llvm

Measured against main at d18c4cf.

3 slower, 9 faster, 108 within 5%.

Benchmark main This branch Change
JSON_String_Key_Hash_10 1.20 ns 1.42 ns +19.0%
Regex_Period_Asterisk 1.24 ns 1.42 ns +14.3%
Schema_Frame_ISO_Language_Root 134.46 ns 150.63 ns +12.0%
JSONLD_Catalog_Annotation_List_Populate 344.66 us 326.95 us -5.1%
Metapack_Parse_OMC_JSON_V2 4.21 ns 3.98 ns -5.3%
Schema_Frame_OMC_Pointers 10.38 ms 9.79 ms -5.7%
JSONLD_Catalog_Materialize 1.86 ms 1.73 ms -6.7%
JSON_String_Key_Hash_100 4.11 ns 3.83 ns -6.8%
JSON_String_Equal_100 3.33 ns 3.09 ns -7.2%
Schema_Frame_ISO_Language_Locations 30.14 ms 27.50 ms -8.8%
Pointer_Push_Back_Pointer_To_Weak_Pointer 65.68 ns 59.85 ns -8.9%
JSON_String_Equal_10 3.10 ns 2.61 ns -15.7%
All 120 benchmarks
Benchmark main This branch Change
MCP_Validate_Headers_64 48.51 us 48.93 us +0.9%
MCP_Intersect_Disjoint_512 268.07 us 274.19 us +2.3%
Regex_Lower_S_Or_Upper_S_Asterisk 1.18 ns 1.18 ns +0.1%
Regex_Caret_Lower_S_Or_Upper_S_Asterisk_Dollar 1.42 ns 1.42 ns -0.1%
Regex_Period_Asterisk 1.24 ns 1.42 ns +14.3%
Regex_Group_Period_Asterisk_Group 1.18 ns 1.15 ns -2.7%
Regex_Period_Plus 1.19 ns 1.19 ns -0.6%
Regex_Period 1.44 ns 1.42 ns -1.3%
Regex_Caret_Period_Plus_Dollar 1.39 ns 1.41 ns +1.5%
Regex_Caret_Group_Period_Plus_Group_Dollar 1.19 ns 1.14 ns -4.1%
Regex_Caret_Period_Asterisk_Dollar 1.20 ns 1.18 ns -1.2%
Regex_Caret_Group_Period_Asterisk_Group_Dollar 1.43 ns 1.42 ns -0.4%
Regex_Caret_X_Hyphen 2.63 ns 2.62 ns -0.6%
Regex_Period_Md_Dollar 14.40 ns 14.52 ns +0.8%
Regex_Caret_Slash_Period_Asterisk 2.37 ns 2.35 ns -0.8%
Regex_Caret_Period_Range_Dollar 1.67 ns 1.66 ns -0.8%
Regex_Nested_Backtrack 21.25 ns 21.31 ns +0.3%
JSON_Array_Of_Objects_Unique 224.00 ns 230.92 ns +3.1%
JSON_Array_Of_Integers_Unique_256 2.14 us 2.14 us +0.1%
JSON_Array_Of_Strings_Unique_Colliding_256 94.78 us 95.21 us +0.4%
JSON_Parse_1 2.43 us 2.45 us +0.9%
JSON_Parse_Real 2.49 us 2.48 us -0.2%
JSON_Parse_Real_Inexact 2.36 us 2.30 us -2.4%
JSON_Parse_Decimal 4.09 us 4.14 us +1.3%
JSON_Parse_Schema_ISO_Language 1.89 ms 1.89 ms +0.0%
JSON_Parse_KrakenD 677.93 us 681.44 us +0.5%
JSON_Stringify_ISO_Language 1.21 ms 1.26 ms +4.0%
JSON_Prettify_KrakenD 1.03 ms 1.04 ms +0.3%
JSON_Parse_Integer 2.12 us 2.11 us -0.2%
JSON_Parse_String_NonSSO_Plain 1.99 us 2.02 us +1.8%
JSON_Parse_String_SSO_Plain 1.76 us 1.75 us -0.6%
JSON_Parse_String_Escape_Heavy 7.05 us 7.19 us +2.0%
JSON_Parse_Object_Short_Keys 4.14 us 4.13 us -0.1%
JSON_Parse_Object_Scalar_Properties 2.11 us 2.10 us -0.8%
JSON_Parse_Object_Array_Properties 2.81 us 2.73 us -2.7%
JSON_Parse_Object_Object_Properties 2.91 us 2.93 us +0.7%
JSON_Parse_Nested_Containers 18.70 us 18.41 us -1.6%
JSON_Fast_Hash_Helm_Chart_Lock 34.99 ns 34.08 ns -2.6%
JSON_Equality_Helm_Chart_Lock 86.24 ns 87.54 ns +1.5%
JSON_String_Equal_10 3.10 ns 2.61 ns -15.7%
JSON_String_Equal_100 3.33 ns 3.09 ns -7.2%
JSON_String_Equal_Small_By_Perfect_Hash_10 0.70 ns 0.70 ns -0.9%
JSON_String_Equal_Small_By_Runtime_Perfect_Hash_10 7.45 ns 7.45 ns +0.0%
JSON_String_Fast_Hash_10 1.18 ns 1.19 ns +1.2%
JSON_String_Fast_Hash_100 1.19 ns 1.19 ns +0.0%
JSON_String_Key_Hash_10 1.20 ns 1.42 ns +19.0%
JSON_String_Key_Hash_100 4.11 ns 3.83 ns -6.8%
JSON_Object_Defines_Miss_Same_Length 1.37 ns 1.42 ns +3.6%
JSON_Object_Defines_Miss_Too_Small 1.79 ns 1.80 ns +0.6%
JSON_Object_Defines_Miss_Too_Large 1.78 ns 1.83 ns +2.7%
JSON_From_String_Copy 6.06 ns 5.97 ns -1.5%
JSON_From_String_Temporary 5.19 ns 5.28 ns +1.8%
JSON_Number_To_Double 8.29 ns 8.27 ns -0.2%
JSON_Object_At_Last_Key_8 2.24 ns 2.23 ns -0.7%
JSON_Object_At_Last_Key_32 8.55 ns 8.54 ns -0.1%
JSON_Object_At_Last_Key_128 39.78 ns 38.74 ns -2.6%
JSON_Object_At_Last_Key_512 147.34 ns 147.57 ns +0.2%
JSON_Divisible_By_Decimal 158.47 ns 159.04 ns +0.4%
JSON_PropertySet_Contains 24.82 ns 25.36 ns +2.2%
JSON_PropertySet_Filter_Object_Properties 20.28 ns 20.34 ns +0.3%
JSON_PropertySet_Insert 278.64 ns 273.29 ns -1.9%
JSON_Stringify_Schema_Web_Of_Things 30.26 us 29.62 us -2.1%
JSON_Prettify_Schema_Web_Of_Things 84.14 us 83.84 us -0.4%
Pointer_Object_Traverse 14.73 ns 14.62 ns -0.7%
Pointer_Object_Try_Traverse 17.56 ns 17.84 ns +1.6%
Pointer_Push_Back_Pointer_To_Weak_Pointer 65.68 ns 59.85 ns -8.9%
Pointer_Walker_Schema_ISO_Language 761.60 us 760.72 us -0.1%
Pointer_Untracked_Deeply_Nested 660.71 us 670.04 us +1.4%
Pointer_Tracked_Deeply_Nested 937.01 us 957.73 us +2.2%
Pointer_Position_Tracker_Get_Deeply_Nested 415.81 ns 422.47 ns +1.6%
Schema_Tracker_ISO_Language 2.40 ms 2.41 ms +0.4%
Schema_Tracker_ISO_Language_To_JSON 8.72 ms 8.66 ms -0.7%
Schema_Frame_WoT_References 1.15 ms 1.16 ms +1.1%
Schema_Frame_OMC_References 5.09 ms 5.15 ms +1.2%
Schema_Frame_OMC_Pointers 10.38 ms 9.79 ms -5.7%
Schema_Frame_OMC_Locations 4.52 ms 4.39 ms -2.8%
Schema_Frame_ISO_Language_Locations 30.14 ms 27.50 ms -8.8%
Schema_Frame_ISO_Language_Root 134.46 ns 150.63 ns +12.0%
Schema_Frame_KrakenD_References 8.95 ms 8.64 ms -3.4%
Schema_Frame_KrakenD_Reachable 84.72 ms 81.04 ms -4.3%
Schema_Frame_ISO_Language_Locations_To_JSON 20.76 ms 20.55 ms -1.0%
Schema_Frame_Many_Resources_References 75.26 ms 72.67 ms -3.5%
Schema_Frame_Deeply_Nested_References 5.37 ms 5.59 ms +4.2%
Schema_Format_ISO_Language 27.44 ms 27.34 ms -0.4%
Schema_Bundle_Meta_2020_12 294.09 us 296.93 us +1.0%
Schema_Bundle_Many_Remotes_With_Fragments 3.64 ms 3.59 ms -1.5%
OpenAPI_Frame_GSMTasks_3_0 97.60 ms 94.62 ms -3.1%
OpenAPI_Format_Synthetic_3_1 29.06 ms 28.49 ms -2.0%
JSONPath_Descendant_Filter_Nested 960.96 ns 923.39 ns -3.9%
URITemplateRouter_Create 11.89 us 11.43 us -3.9%
URITemplateRouter_Match 78.92 ns 79.16 ns +0.3%
URITemplateRouterView_Restore 6.38 us 6.27 us -1.8%
URITemplateRouterView_Match 68.29 ns 66.63 ns -2.4%
URITemplateRouterView_Arguments 293.72 ns 279.40 ns -4.9%
URITemplateRouter_Match_BasePath 89.20 ns 87.75 ns -1.6%
URITemplateRouterView_Match_BasePath 77.03 ns 74.67 ns -3.1%
JSONL_Parse_Large 5.18 ms 5.03 ms -3.0%
JSONL_Parse_Large_GZIP 5.34 ms 5.18 ms -3.1%
JSONLD_Catalog_Annotation_List_Populate 344.66 us 326.95 us -5.1%
JSONLD_Catalog_Materialize 1.86 ms 1.73 ms -6.7%
HTML_Build_Table_100000 19.40 ms 19.09 ms -1.6%
HTML_Render_Table_100000 1.64 ms 1.66 ms +1.3%
Markdown_To_HTML_Realistic_Document 2.12 ms 2.15 ms +1.4%
Markdown_To_HTML_Pathological 7.39 ms 7.08 ms -4.2%
Markdown_To_HTML_Short_Descriptions 263.71 ns 267.13 ns +1.3%
GZIP_Compress_ISO_Language_Set_3_Locations 20.46 ms 19.98 ms -2.4%
GZIP_Decompress_ISO_Language_Set_3_Locations 3.40 ms 3.53 ms +4.0%
GZIP_Decompress_Default_Level_ISO_Language_Set_3_Locations 4.54 ms 4.61 ms +1.5%
GZIP_Decompress_Stream_Default_Level_ISO_Language_Set_3_Locations 5.56 ms 5.79 ms +4.1%
GZIP_Compress_ISO_Language_Set_3_Schema 1.42 ms 1.43 ms +0.4%
GZIP_Decompress_ISO_Language_Set_3_Schema 291.75 us 289.59 us -0.7%
JOSE_VerifySignature_RS256 31.98 us 31.88 us -0.3%
JOSE_VerifySignature_ES512 975.99 us 955.76 us -2.1%
Crypto_CRC32_Large_JSONL 75.07 us 75.47 us +0.5%
Crypto_AES_GCM_Encrypt_128_1KB 28.68 us 28.80 us +0.4%
Crypto_AES_GCM_Decrypt_128_1KB 28.80 us 28.87 us +0.3%
Crypto_AES_GCM_Encrypt_256_1KB 33.74 us 33.44 us -0.9%
Metapack_Parse_OMC_JSON_V2 4.21 ns 3.98 ns -5.3%
Metapack_Read_OMC_JSON_V2 204.01 us 204.26 us +0.1%
Metapack_Write_OMC_JSON_V2 504.47 us 510.01 us +1.1%

@github-actions

github-actions Bot commented Oct 28, 2026 •

Copy link
Copy Markdown

Benchmark windows/msvc

Measured against main at d18c4cf.

14 slower, 0 faster, 106 within 5%.

Benchmark main This branch Change
JSONLD_Catalog_Materialize 7.67 ms 9.86 ms +28.6%
HTML_Render_Table_100000 7.64 ms 9.15 ms +19.9%
Schema_Format_ISO_Language 81.38 ms 96.48 ms +18.6%
HTML_Build_Table_100000 66.51 ms 78.59 ms +18.2%
JSONLD_Catalog_Annotation_List_Populate 2.96 ms 3.31 ms +11.9%
Schema_Frame_ISO_Language_Locations_To_JSON 158.87 ms 175.42 ms +10.4%
URITemplateRouter_Match_BasePath 267.02 ns 292.87 ns +9.7%
Pointer_Walker_Schema_ISO_Language 8.17 ms 8.94 ms +9.4%
Schema_Bundle_Many_Remotes_With_Fragments 28.95 ms 31.39 ms +8.4%
Pointer_Push_Back_Pointer_To_Weak_Pointer 164.83 ns 175.22 ns +6.3%
URITemplateRouter_Create 38.32 us 40.74 us +6.3%
URITemplateRouterView_Restore 34.75 us 36.74 us +5.7%
JSON_From_String_Temporary 58.13 ns 61.33 ns +5.5%
GZIP_Decompress_Stream_Default_Level_ISO_Language_Set_3_Locations 14.21 ms 14.99 ms +5.5%
All 120 benchmarks
Benchmark main This branch Change
MCP_Validate_Headers_64 91.29 us 90.89 us -0.4%
MCP_Intersect_Disjoint_512 926.19 us 927.41 us +0.1%
Regex_Lower_S_Or_Upper_S_Asterisk 4.73 ns 4.70 ns -0.6%
Regex_Caret_Lower_S_Or_Upper_S_Asterisk_Dollar 4.73 ns 4.71 ns -0.4%
Regex_Period_Asterisk 4.71 ns 4.70 ns -0.2%
Regex_Group_Period_Asterisk_Group 4.71 ns 4.70 ns -0.2%
Regex_Period_Plus 4.65 ns 4.66 ns +0.2%
Regex_Period 4.45 ns 4.45 ns +0.1%
Regex_Caret_Period_Plus_Dollar 4.64 ns 4.65 ns +0.4%
Regex_Caret_Group_Period_Plus_Group_Dollar 4.44 ns 4.47 ns +0.6%
Regex_Caret_Period_Asterisk_Dollar 4.71 ns 4.70 ns -0.1%
Regex_Caret_Group_Period_Asterisk_Group_Dollar 4.70 ns 4.70 ns +0.0%
Regex_Caret_X_Hyphen 8.19 ns 8.16 ns -0.4%
Regex_Period_Md_Dollar 45.88 ns 45.76 ns -0.3%
Regex_Caret_Slash_Period_Asterisk 7.83 ns 7.83 ns +0.0%
Regex_Caret_Period_Range_Dollar 5.34 ns 5.34 ns +0.0%
Regex_Nested_Backtrack 58.32 ns 58.22 ns -0.2%
JSON_Array_Of_Objects_Unique 521.80 ns 515.09 ns -1.3%
JSON_Array_Of_Integers_Unique_256 4.75 us 4.87 us +2.7%
JSON_Array_Of_Strings_Unique_Colliding_256 289.64 us 290.64 us +0.3%
JSON_Parse_1 8.79 us 8.69 us -1.2%
JSON_Parse_Real 7.53 us 7.66 us +1.7%
JSON_Parse_Real_Inexact 7.22 us 7.28 us +0.9%
JSON_Parse_Decimal 12.22 us 12.41 us +1.6%
JSON_Parse_Schema_ISO_Language 7.74 ms 7.62 ms -1.5%
JSON_Parse_KrakenD 2.24 ms 2.34 ms +4.5%
JSON_Stringify_ISO_Language 10.01 ms 9.98 ms -0.2%
JSON_Prettify_KrakenD 7.54 ms 7.54 ms +0.0%
JSON_Parse_Integer 6.59 us 6.69 us +1.6%
JSON_Parse_String_NonSSO_Plain 8.31 us 8.69 us +4.7%
JSON_Parse_String_SSO_Plain 4.18 us 4.23 us +1.2%
JSON_Parse_String_Escape_Heavy 21.98 us 22.72 us +3.3%
JSON_Parse_Object_Short_Keys 13.88 us 13.72 us -1.2%
JSON_Parse_Object_Scalar_Properties 7.13 us 7.05 us -1.0%
JSON_Parse_Object_Array_Properties 11.80 us 11.52 us -2.3%
JSON_Parse_Object_Object_Properties 11.63 us 11.46 us -1.5%
JSON_Parse_Nested_Containers 79.83 us 79.30 us -0.7%
JSON_Fast_Hash_Helm_Chart_Lock 103.43 ns 101.53 ns -1.8%
JSON_Equality_Helm_Chart_Lock 207.71 ns 208.37 ns +0.3%
JSON_String_Equal_10 10.14 ns 10.13 ns -0.1%
JSON_String_Equal_100 11.32 ns 11.36 ns +0.3%
JSON_String_Equal_Small_By_Perfect_Hash_10 2.20 ns 2.19 ns -0.0%
JSON_String_Equal_Small_By_Runtime_Perfect_Hash_10 15.00 ns 15.03 ns +0.1%
JSON_String_Fast_Hash_10 6.29 ns 6.35 ns +0.8%
JSON_String_Fast_Hash_100 6.28 ns 6.43 ns +2.3%
JSON_String_Key_Hash_10 5.02 ns 5.02 ns -0.0%
JSON_String_Key_Hash_100 11.85 ns 11.87 ns +0.1%
JSON_Object_Defines_Miss_Same_Length 4.08 ns 4.07 ns -0.2%
JSON_Object_Defines_Miss_Too_Small 3.77 ns 3.77 ns -0.2%
JSON_Object_Defines_Miss_Too_Large 4.09 ns 4.08 ns -0.2%
JSON_From_String_Copy 65.39 ns 65.55 ns +0.2%
JSON_From_String_Temporary 58.13 ns 61.33 ns +5.5%
JSON_Number_To_Double 40.66 ns 40.63 ns -0.1%
JSON_Object_At_Last_Key_8 7.25 ns 7.25 ns -0.0%
JSON_Object_At_Last_Key_32 23.37 ns 23.19 ns -0.8%
JSON_Object_At_Last_Key_128 91.57 ns 90.42 ns -1.3%
JSON_Object_At_Last_Key_512 425.87 ns 422.84 ns -0.7%
JSON_Divisible_By_Decimal 385.39 ns 383.65 ns -0.5%
JSON_PropertySet_Contains 79.48 ns 79.20 ns -0.4%
JSON_PropertySet_Filter_Object_Properties 48.90 ns 48.65 ns -0.5%
JSON_PropertySet_Insert 1.33 us 1.35 us +1.9%
JSON_Stringify_Schema_Web_Of_Things 229.98 us 230.55 us +0.2%
JSON_Prettify_Schema_Web_Of_Things 719.90 us 719.19 us -0.1%
Pointer_Object_Traverse 70.42 ns 70.40 ns -0.0%
Pointer_Object_Try_Traverse 73.37 ns 73.69 ns +0.4%
Pointer_Push_Back_Pointer_To_Weak_Pointer 164.83 ns 175.22 ns +6.3%
Pointer_Walker_Schema_ISO_Language 8.17 ms 8.94 ms +9.4%
Pointer_Untracked_Deeply_Nested 2.33 ms 2.37 ms +1.6%
Pointer_Tracked_Deeply_Nested 3.62 ms 3.55 ms -2.0%
Pointer_Position_Tracker_Get_Deeply_Nested 590.70 ns 580.07 ns -1.8%
Schema_Tracker_ISO_Language 10.55 ms 10.29 ms -2.4%
Schema_Tracker_ISO_Language_To_JSON 60.18 ms 62.15 ms +3.3%
Schema_Frame_WoT_References 4.97 ms 4.98 ms +0.2%
Schema_Frame_OMC_References 21.71 ms 21.67 ms -0.2%
Schema_Frame_OMC_Pointers 39.11 ms 40.42 ms +3.4%
Schema_Frame_OMC_Locations 18.66 ms 18.40 ms -1.4%
Schema_Frame_ISO_Language_Locations 76.60 ms 76.99 ms +0.5%
Schema_Frame_ISO_Language_Root 2.30 us 2.39 us +3.6%
Schema_Frame_KrakenD_References 36.24 ms 37.63 ms +3.8%
Schema_Frame_KrakenD_Reachable 288.17 ms 293.45 ms +1.8%
Schema_Frame_ISO_Language_Locations_To_JSON 158.87 ms 175.42 ms +10.4%
Schema_Frame_Many_Resources_References 353.78 ms 363.92 ms +2.9%
Schema_Frame_Deeply_Nested_References 22.73 ms 22.40 ms -1.4%
Schema_Format_ISO_Language 81.38 ms 96.48 ms +18.6%
Schema_Bundle_Meta_2020_12 1.51 ms 1.51 ms -0.0%
Schema_Bundle_Many_Remotes_With_Fragments 28.95 ms 31.39 ms +8.4%
OpenAPI_Frame_GSMTasks_3_0 381.47 ms 382.11 ms +0.2%
OpenAPI_Format_Synthetic_3_1 130.63 ms 131.79 ms +0.9%
JSONPath_Descendant_Filter_Nested 2.92 us 2.92 us +0.1%
URITemplateRouter_Create 38.32 us 40.74 us +6.3%
URITemplateRouter_Match 234.74 ns 233.62 ns -0.5%
URITemplateRouterView_Restore 34.75 us 36.74 us +5.7%
URITemplateRouterView_Match 216.80 ns 218.24 ns +0.7%
URITemplateRouterView_Arguments 540.54 ns 554.92 ns +2.7%
URITemplateRouter_Match_BasePath 267.02 ns 292.87 ns +9.7%
URITemplateRouterView_Match_BasePath 246.39 ns 251.34 ns +2.0%
JSONL_Parse_Large 32.79 ms 33.71 ms +2.8%
JSONL_Parse_Large_GZIP 31.63 ms 31.61 ms -0.1%
JSONLD_Catalog_Annotation_List_Populate 2.96 ms 3.31 ms +11.9%
JSONLD_Catalog_Materialize 7.67 ms 9.86 ms +28.6%
HTML_Build_Table_100000 66.51 ms 78.59 ms +18.2%
HTML_Render_Table_100000 7.64 ms 9.15 ms +19.9%
Markdown_To_HTML_Realistic_Document 5.58 ms 5.65 ms +1.3%
Markdown_To_HTML_Pathological 17.30 ms 17.90 ms +3.5%
Markdown_To_HTML_Short_Descriptions 703.45 ns 711.88 ns +1.2%
GZIP_Compress_ISO_Language_Set_3_Locations 38.01 ms 37.79 ms -0.6%
GZIP_Decompress_ISO_Language_Set_3_Locations 9.73 ms 9.87 ms +1.4%
GZIP_Decompress_Default_Level_ISO_Language_Set_3_Locations 12.09 ms 12.16 ms +0.6%
GZIP_Decompress_Stream_Default_Level_ISO_Language_Set_3_Locations 14.21 ms 14.99 ms +5.5%
GZIP_Compress_ISO_Language_Set_3_Schema 2.32 ms 2.32 ms +0.1%
GZIP_Decompress_ISO_Language_Set_3_Schema 648.77 us 653.59 us +0.7%
JOSE_VerifySignature_RS256 21.28 us 21.28 us +0.0%
JOSE_VerifySignature_ES512 1.53 ms 1.52 ms -0.3%
Crypto_CRC32_Large_JSONL 103.87 us 103.52 us -0.3%
Crypto_AES_GCM_Encrypt_128_1KB 2.33 us 2.33 us +0.0%
Crypto_AES_GCM_Decrypt_128_1KB 2.36 us 2.34 us -0.7%
Crypto_AES_GCM_Encrypt_256_1KB 2.39 us 2.40 us +0.4%
Metapack_Parse_OMC_JSON_V2 11.91 ns 11.91 ns +0.0%
Metapack_Read_OMC_JSON_V2 656.96 us 655.12 us -0.3%
Metapack_Write_OMC_JSON_V2 2.12 ms 2.13 ms +0.4%

@github-actions

github-actions Bot commented Oct 28, 2026 •

Copy link
Copy Markdown

Benchmark linux/gcc

Measured against main at d18c4cf.

4 slower, 3 faster, 113 within 5%.

Benchmark main This branch Change
JSON_String_Equal_10 6.04 ns 6.97 ns +15.4%
JSON_String_Equal_100 6.66 ns 7.60 ns +14.1%
JSON_Array_Of_Integers_Unique_256 3.51 us 3.94 us +12.2%
Regex_Caret_Slash_Period_Asterisk 5.52 ns 5.84 ns +5.7%
JSON_From_String_Copy 11.61 ns 10.90 ns -6.1%
Pointer_Object_Try_Traverse 27.59 ns 24.71 ns -10.4%
Regex_Caret_Period_Range_Dollar 2.72 ns 2.41 ns -11.4%
All 120 benchmarks
Benchmark main This branch Change
Metapack_Parse_OMC_JSON_V2 2.29 ns 2.34 ns +2.4%
Metapack_Read_OMC_JSON_V2 450.01 us 447.54 us -0.5%
Metapack_Write_OMC_JSON_V2 714.60 us 732.13 us +2.5%
Crypto_CRC32_Large_JSONL 101.50 us 101.48 us -0.0%
Crypto_AES_GCM_Encrypt_128_1KB 1.03 us 1.02 us -0.6%
Crypto_AES_GCM_Decrypt_128_1KB 1.02 us 1.03 us +0.8%
Crypto_AES_GCM_Encrypt_256_1KB 1.08 us 1.06 us -1.9%
JOSE_VerifySignature_RS256 21.67 us 21.08 us -2.7%
JOSE_VerifySignature_ES512 597.92 us 597.76 us -0.0%
GZIP_Compress_ISO_Language_Set_3_Locations 29.82 ms 29.79 ms -0.1%
GZIP_Decompress_ISO_Language_Set_3_Locations 4.99 ms 4.98 ms -0.1%
GZIP_Decompress_Default_Level_ISO_Language_Set_3_Locations 6.93 ms 6.92 ms -0.1%
GZIP_Decompress_Stream_Default_Level_ISO_Language_Set_3_Locations 8.35 ms 8.30 ms -0.6%
GZIP_Compress_ISO_Language_Set_3_Schema 2.04 ms 2.03 ms -0.4%
GZIP_Decompress_ISO_Language_Set_3_Schema 419.57 us 418.97 us -0.1%
Markdown_To_HTML_Realistic_Document 4.22 ms 4.30 ms +1.9%
Markdown_To_HTML_Pathological 13.68 ms 13.56 ms -0.9%
Markdown_To_HTML_Short_Descriptions 585.83 ns 581.11 ns -0.8%
HTML_Build_Table_100000 45.20 ms 45.61 ms +0.9%
HTML_Render_Table_100000 1.92 ms 1.91 ms -0.7%
JSONLD_Catalog_Annotation_List_Populate 686.04 us 686.20 us +0.0%
JSONLD_Catalog_Materialize 3.60 ms 3.58 ms -0.4%
JSONL_Parse_Large 10.46 ms 10.36 ms -0.9%
JSONL_Parse_Large_GZIP 10.71 ms 10.56 ms -1.4%
URITemplateRouter_Create 20.80 us 21.16 us +1.8%
URITemplateRouter_Match 167.30 ns 170.64 ns +2.0%
URITemplateRouterView_Restore 7.66 us 7.71 us +0.6%
URITemplateRouterView_Match 134.31 ns 139.65 ns +4.0%
URITemplateRouterView_Arguments 853.88 ns 841.84 ns -1.4%
URITemplateRouter_Match_BasePath 184.80 ns 189.52 ns +2.6%
URITemplateRouterView_Match_BasePath 153.54 ns 155.23 ns +1.1%
JSONPath_Descendant_Filter_Nested 1.96 us 1.99 us +1.8%
OpenAPI_Frame_GSMTasks_3_0 143.79 ms 144.05 ms +0.2%
OpenAPI_Format_Synthetic_3_1 47.68 ms 47.59 ms -0.2%
Schema_Frame_WoT_References 2.07 ms 2.17 ms +4.7%
Schema_Frame_OMC_References 9.14 ms 9.22 ms +0.9%
Schema_Frame_OMC_Pointers 16.70 ms 16.85 ms +0.9%
Schema_Frame_OMC_Locations 7.92 ms 7.98 ms +0.8%
Schema_Frame_ISO_Language_Locations 39.95 ms 40.08 ms +0.3%
Schema_Frame_ISO_Language_Root 296.58 ns 282.29 ns -4.8%
Schema_Frame_KrakenD_References 14.80 ms 14.79 ms -0.0%
Schema_Frame_KrakenD_Reachable 144.18 ms 143.63 ms -0.4%
Schema_Frame_ISO_Language_Locations_To_JSON 31.66 ms 31.53 ms -0.4%
Schema_Frame_Many_Resources_References 106.98 ms 106.83 ms -0.1%
Schema_Frame_Deeply_Nested_References 10.59 ms 10.53 ms -0.6%
Schema_Format_ISO_Language 45.12 ms 45.02 ms -0.2%
Schema_Bundle_Meta_2020_12 638.31 us 640.03 us +0.3%
Schema_Bundle_Many_Remotes_With_Fragments 6.54 ms 6.62 ms +1.1%
Pointer_Object_Traverse 24.96 ns 24.97 ns +0.0%
Pointer_Object_Try_Traverse 27.59 ns 24.71 ns -10.4%
Pointer_Push_Back_Pointer_To_Weak_Pointer 121.83 ns 121.76 ns -0.1%
Pointer_Walker_Schema_ISO_Language 1.42 ms 1.42 ms -0.3%
Pointer_Untracked_Deeply_Nested 1.64 ms 1.57 ms -4.2%
Pointer_Tracked_Deeply_Nested 2.44 ms 2.39 ms -2.0%
Pointer_Position_Tracker_Get_Deeply_Nested 630.90 ns 634.06 ns +0.5%
Schema_Tracker_ISO_Language 5.40 ms 5.32 ms -1.5%
Schema_Tracker_ISO_Language_To_JSON 15.99 ms 16.25 ms +1.7%
JSON_Array_Of_Objects_Unique 416.57 ns 428.21 ns +2.8%
JSON_Array_Of_Integers_Unique_256 3.51 us 3.94 us +12.2%
JSON_Array_Of_Strings_Unique_Colliding_256 209.80 us 207.62 us -1.0%
JSON_Parse_1 5.74 us 5.71 us -0.6%
JSON_Parse_Real 5.48 us 5.52 us +0.8%
JSON_Parse_Real_Inexact 5.98 us 5.99 us +0.2%
JSON_Parse_Decimal 10.41 us 10.46 us +0.5%
JSON_Parse_Schema_ISO_Language 3.79 ms 3.75 ms -1.0%
JSON_Parse_KrakenD 1.46 ms 1.45 ms -1.2%
JSON_Stringify_ISO_Language 2.51 ms 2.51 ms +0.0%
JSON_Prettify_KrakenD 1.98 ms 2.00 ms +1.0%
JSON_Parse_Integer 4.68 us 4.69 us +0.1%
JSON_Parse_String_NonSSO_Plain 4.04 us 3.96 us -2.0%
JSON_Parse_String_SSO_Plain 3.21 us 3.22 us +0.4%
JSON_Parse_String_Escape_Heavy 20.31 us 20.01 us -1.5%
JSON_Parse_Object_Short_Keys 11.35 us 10.80 us -4.9%
JSON_Parse_Object_Scalar_Properties 5.74 us 5.47 us -4.6%
JSON_Parse_Object_Array_Properties 6.63 us 6.60 us -0.5%
JSON_Parse_Object_Object_Properties 6.61 us 6.59 us -0.4%
JSON_Parse_Nested_Containers 42.78 us 42.82 us +0.1%
JSON_Fast_Hash_Helm_Chart_Lock 64.46 ns 64.46 ns -0.0%
JSON_Equality_Helm_Chart_Lock 159.14 ns 159.07 ns -0.0%
JSON_String_Equal_10 6.04 ns 6.97 ns +15.4%
JSON_String_Equal_100 6.66 ns 7.60 ns +14.1%
JSON_String_Equal_Small_By_Perfect_Hash_10 0.75 ns 0.75 ns -0.0%
JSON_String_Equal_Small_By_Runtime_Perfect_Hash_10 14.95 ns 14.96 ns +0.1%
JSON_String_Fast_Hash_10 2.26 ns 2.26 ns -0.1%
JSON_String_Fast_Hash_100 2.26 ns 2.26 ns -0.1%
JSON_String_Key_Hash_10 2.34 ns 2.34 ns -0.1%
JSON_String_Key_Hash_100 13.39 ns 13.39 ns -0.0%
JSON_Object_Defines_Miss_Same_Length 3.12 ns 3.12 ns +0.1%
JSON_Object_Defines_Miss_Too_Small 3.12 ns 3.12 ns -0.0%
JSON_Object_Defines_Miss_Too_Large 2.81 ns 2.81 ns +0.0%
JSON_From_String_Copy 11.61 ns 10.90 ns -6.1%
JSON_From_String_Temporary 9.38 ns 9.36 ns -0.1%
JSON_Number_To_Double 28.66 ns 28.67 ns +0.0%
JSON_Object_At_Last_Key_8 3.65 ns 3.67 ns +0.7%
JSON_Object_At_Last_Key_32 11.48 ns 11.55 ns +0.6%
JSON_Object_At_Last_Key_128 53.41 ns 53.43 ns +0.1%
JSON_Object_At_Last_Key_512 269.20 ns 268.87 ns -0.1%
JSON_Divisible_By_Decimal 360.65 ns 362.80 ns +0.6%
JSON_PropertySet_Contains 45.23 ns 45.27 ns +0.1%
JSON_PropertySet_Filter_Object_Properties 36.77 ns 36.77 ns -0.0%
JSON_PropertySet_Insert 427.32 ns 426.29 ns -0.2%
JSON_Stringify_Schema_Web_Of_Things 60.76 us 63.25 us +4.1%
JSON_Prettify_Schema_Web_Of_Things 168.22 us 169.76 us +0.9%
Regex_Lower_S_Or_Upper_S_Asterisk 2.10 ns 2.10 ns +0.0%
Regex_Caret_Lower_S_Or_Upper_S_Asterisk_Dollar 2.10 ns 2.10 ns -0.1%
Regex_Period_Asterisk 2.13 ns 2.10 ns -1.3%
Regex_Group_Period_Asterisk_Group 2.10 ns 2.10 ns -0.1%
Regex_Period_Plus 2.11 ns 2.10 ns -0.2%
Regex_Period 2.10 ns 2.10 ns -0.0%
Regex_Caret_Period_Plus_Dollar 2.10 ns 2.10 ns -0.1%
Regex_Caret_Group_Period_Plus_Group_Dollar 2.10 ns 2.10 ns -0.1%
Regex_Caret_Period_Asterisk_Dollar 2.10 ns 2.10 ns -0.2%
Regex_Caret_Group_Period_Asterisk_Group_Dollar 2.10 ns 2.16 ns +2.5%
Regex_Caret_X_Hyphen 5.22 ns 5.23 ns +0.2%
Regex_Period_Md_Dollar 28.60 ns 30.03 ns +5.0%
Regex_Caret_Slash_Period_Asterisk 5.52 ns 5.84 ns +5.7%
Regex_Caret_Period_Range_Dollar 2.72 ns 2.41 ns -11.4%
Regex_Nested_Backtrack 39.37 ns 40.23 ns +2.2%
MCP_Validate_Headers_64 61.19 us 60.57 us -1.0%
MCP_Intersect_Disjoint_512 797.80 us 797.95 us +0.0%

@github-actions

github-actions Bot commented Oct 28, 2026 •

Copy link
Copy Markdown

Benchmark macos/llvm

Measured against main at d18c4cf.

20 slower, 56 faster, 44 within 5%.

Benchmark main This branch Change
Schema_Frame_Many_Resources_References 115.80 ms 151.31 ms +30.7%
Metapack_Write_OMC_JSON_V2 661.35 us 812.93 us +22.9%
Metapack_Read_OMC_JSON_V2 314.59 us 384.21 us +22.1%
Regex_Caret_Slash_Period_Asterisk 6.35 ns 7.64 ns +20.4%
Regex_Period_Md_Dollar 25.19 ns 29.95 ns +18.9%
URITemplateRouterView_Restore 11.70 us 13.41 us +14.7%
OpenAPI_Frame_GSMTasks_3_0 174.74 ms 200.15 ms +14.5%
JSON_Stringify_Schema_Web_Of_Things 76.59 us 87.28 us +14.0%
JSON_Array_Of_Strings_Unique_Colliding_256 188.30 us 211.75 us +12.5%
Regex_Caret_Lower_S_Or_Upper_S_Asterisk_Dollar 2.09 ns 2.35 ns +12.3%
JSON_Parse_Real_Inexact 3.94 us 4.35 us +10.4%
Regex_Lower_S_Or_Upper_S_Asterisk 2.11 ns 2.31 ns +9.3%
JSONLD_Catalog_Annotation_List_Populate 644.83 us 699.83 us +8.5%
URITemplateRouter_Create 23.99 us 25.82 us +7.6%
Schema_Frame_KrakenD_Reachable 249.47 ms 267.68 ms +7.3%
Schema_Frame_Deeply_Nested_References 16.61 ms 17.72 ms +6.7%
OpenAPI_Format_Synthetic_3_1 56.86 ms 60.59 ms +6.6%
GZIP_Decompress_ISO_Language_Set_3_Locations 3.57 ms 3.78 ms +5.9%
GZIP_Decompress_ISO_Language_Set_3_Schema 370.71 us 391.24 us +5.5%
Regex_Caret_Group_Period_Asterisk_Group_Dollar 2.24 ns 2.37 ns +5.5%
Crypto_AES_GCM_Encrypt_128_1KB 4.67 us 4.43 us -5.1%
URITemplateRouterView_Match_BasePath 179.88 ns 170.56 ns -5.2%
JSON_String_Fast_Hash_100 2.24 ns 2.11 ns -5.5%
Schema_Frame_KrakenD_References 20.03 ms 18.93 ms -5.5%
URITemplateRouter_Match_BasePath 275.66 ns 260.36 ns -5.5%
Pointer_Untracked_Deeply_Nested 1.19 ms 1.13 ms -5.6%
Markdown_To_HTML_Short_Descriptions 414.51 ns 389.03 ns -6.1%
Pointer_Push_Back_Pointer_To_Weak_Pointer 192.33 ns 179.47 ns -6.7%
JSON_Parse_KrakenD 1.12 ms 1.04 ms -6.8%
JOSE_VerifySignature_RS256 29.39 us 27.34 us -7.0%
GZIP_Decompress_Stream_Default_Level_ISO_Language_Set_3_Locations 7.90 ms 7.32 ms -7.4%
Schema_Frame_OMC_References 13.50 ms 12.50 ms -7.4%
JSONPath_Descendant_Filter_Nested 1.90 us 1.76 us -7.5%
JSON_Parse_String_SSO_Plain 2.67 us 2.46 us -7.7%
Regex_Caret_Group_Period_Plus_Group_Dollar 2.26 ns 2.08 ns -8.2%
Schema_Frame_ISO_Language_Locations 33.49 ms 30.68 ms -8.4%
Schema_Bundle_Many_Remotes_With_Fragments 7.88 ms 7.22 ms -8.4%
JSON_Parse_String_NonSSO_Plain 5.11 us 4.67 us -8.5%
Regex_Caret_Period_Plus_Dollar 2.22 ns 2.02 ns -8.8%
Regex_Period_Asterisk 2.38 ns 2.17 ns -8.9%
JSON_Parse_Object_Short_Keys 7.64 us 6.95 us -9.0%
JSON_Object_Defines_Miss_Too_Large 3.86 ns 3.51 ns -9.2%
JSONL_Parse_Large 9.40 ms 8.53 ms -9.3%
JSON_Parse_1 4.26 us 3.85 us -9.6%
JSON_String_Key_Hash_10 2.39 ns 2.16 ns -9.6%
Pointer_Object_Traverse 28.11 ns 25.29 ns -10.0%
JSON_Prettify_Schema_Web_Of_Things 210.72 us 189.25 us -10.2%
GZIP_Decompress_Default_Level_ISO_Language_Set_3_Locations 6.11 ms 5.45 ms -10.7%
JSON_Prettify_KrakenD 2.83 ms 2.52 ms -10.8%
Regex_Period 2.33 ns 2.08 ns -10.8%
JOSE_VerifySignature_ES512 1.36 ms 1.21 ms -10.9%
JSON_Parse_Object_Scalar_Properties 3.56 us 3.16 us -11.1%
JSON_String_Fast_Hash_10 2.82 ns 2.50 ns -11.3%
JSON_Equality_Helm_Chart_Lock 231.90 ns 205.38 ns -11.4%
JSON_Parse_Nested_Containers 33.08 us 29.09 us -12.1%
Schema_Tracker_ISO_Language 3.93 ms 3.46 ms -12.1%
JSON_From_String_Temporary 8.41 ns 7.39 ns -12.1%
JSON_Object_At_Last_Key_8 5.50 ns 4.83 ns -12.2%
JSON_PropertySet_Filter_Object_Properties 52.88 ns 46.14 ns -12.7%
JSON_Object_Defines_Miss_Too_Small 4.06 ns 3.54 ns -12.7%
Pointer_Position_Tracker_Get_Deeply_Nested 511.30 ns 443.21 ns -13.3%
JSON_PropertySet_Contains 62.44 ns 54.12 ns -13.3%
Regex_Period_Plus 2.28 ns 1.95 ns -14.4%
JSON_Parse_Object_Array_Properties 4.66 us 3.98 us -14.6%
Schema_Tracker_ISO_Language_To_JSON 15.99 ms 13.56 ms -15.2%
JSON_From_String_Copy 14.29 ns 12.06 ns -15.6%
MCP_Validate_Headers_64 81.12 us 67.78 us -16.4%
JSON_Parse_Object_Object_Properties 4.93 us 4.10 us -16.9%
JSON_Object_At_Last_Key_32 17.04 ns 14.07 ns -17.4%
Regex_Group_Period_Asterisk_Group 2.46 ns 2.00 ns -18.7%
GZIP_Compress_ISO_Language_Set_3_Schema 2.49 ms 2.03 ms -18.7%
Regex_Caret_Period_Asterisk_Dollar 2.41 ns 1.92 ns -20.3%
JSON_PropertySet_Insert 484.52 ns 381.60 ns -21.2%
JSON_Fast_Hash_Helm_Chart_Lock 75.66 ns 58.70 ns -22.4%
JSON_Divisible_By_Decimal 331.98 ns 242.98 ns -26.8%
MCP_Intersect_Disjoint_512 676.51 us 494.06 us -27.0%
All 120 benchmarks
Benchmark main This branch Change
MCP_Validate_Headers_64 81.12 us 67.78 us -16.4%
MCP_Intersect_Disjoint_512 676.51 us 494.06 us -27.0%
Regex_Lower_S_Or_Upper_S_Asterisk 2.11 ns 2.31 ns +9.3%
Regex_Caret_Lower_S_Or_Upper_S_Asterisk_Dollar 2.09 ns 2.35 ns +12.3%
Regex_Period_Asterisk 2.38 ns 2.17 ns -8.9%
Regex_Group_Period_Asterisk_Group 2.46 ns 2.00 ns -18.7%
Regex_Period_Plus 2.28 ns 1.95 ns -14.4%
Regex_Period 2.33 ns 2.08 ns -10.8%
Regex_Caret_Period_Plus_Dollar 2.22 ns 2.02 ns -8.8%
Regex_Caret_Group_Period_Plus_Group_Dollar 2.26 ns 2.08 ns -8.2%
Regex_Caret_Period_Asterisk_Dollar 2.41 ns 1.92 ns -20.3%
Regex_Caret_Group_Period_Asterisk_Group_Dollar 2.24 ns 2.37 ns +5.5%
Regex_Caret_X_Hyphen 7.94 ns 8.13 ns +2.4%
Regex_Period_Md_Dollar 25.19 ns 29.95 ns +18.9%
Regex_Caret_Slash_Period_Asterisk 6.35 ns 7.64 ns +20.4%
Regex_Caret_Period_Range_Dollar 2.92 ns 3.02 ns +3.7%
Regex_Nested_Backtrack 37.03 ns 36.62 ns -1.1%
JSON_Array_Of_Objects_Unique 466.77 ns 489.77 ns +4.9%
JSON_Array_Of_Integers_Unique_256 5.68 us 5.71 us +0.6%
JSON_Array_Of_Strings_Unique_Colliding_256 188.30 us 211.75 us +12.5%
JSON_Parse_1 4.26 us 3.85 us -9.6%
JSON_Parse_Real 4.34 us 4.16 us -4.1%
JSON_Parse_Real_Inexact 3.94 us 4.35 us +10.4%
JSON_Parse_Decimal 7.34 us 7.22 us -1.6%
JSON_Parse_Schema_ISO_Language 3.13 ms 3.17 ms +1.1%
JSON_Parse_KrakenD 1.12 ms 1.04 ms -6.8%
JSON_Stringify_ISO_Language 3.64 ms 3.48 ms -4.6%
JSON_Prettify_KrakenD 2.83 ms 2.52 ms -10.8%
JSON_Parse_Integer 3.83 us 3.67 us -4.1%
JSON_Parse_String_NonSSO_Plain 5.11 us 4.67 us -8.5%
JSON_Parse_String_SSO_Plain 2.67 us 2.46 us -7.7%
JSON_Parse_String_Escape_Heavy 23.43 us 22.48 us -4.1%
JSON_Parse_Object_Short_Keys 7.64 us 6.95 us -9.0%
JSON_Parse_Object_Scalar_Properties 3.56 us 3.16 us -11.1%
JSON_Parse_Object_Array_Properties 4.66 us 3.98 us -14.6%
JSON_Parse_Object_Object_Properties 4.93 us 4.10 us -16.9%
JSON_Parse_Nested_Containers 33.08 us 29.09 us -12.1%
JSON_Fast_Hash_Helm_Chart_Lock 75.66 ns 58.70 ns -22.4%
JSON_Equality_Helm_Chart_Lock 231.90 ns 205.38 ns -11.4%
JSON_String_Equal_10 9.77 ns 9.59 ns -1.8%
JSON_String_Equal_100 8.25 ns 8.41 ns +1.9%
JSON_String_Equal_Small_By_Perfect_Hash_10 0.43 ns 0.45 ns +3.9%
JSON_String_Equal_Small_By_Runtime_Perfect_Hash_10 4.89 ns 4.69 ns -4.0%
JSON_String_Fast_Hash_10 2.82 ns 2.50 ns -11.3%
JSON_String_Fast_Hash_100 2.24 ns 2.11 ns -5.5%
JSON_String_Key_Hash_10 2.39 ns 2.16 ns -9.6%
JSON_String_Key_Hash_100 2.97 ns 2.84 ns -4.5%
JSON_Object_Defines_Miss_Same_Length 3.47 ns 3.44 ns -0.9%
JSON_Object_Defines_Miss_Too_Small 4.06 ns 3.54 ns -12.7%
JSON_Object_Defines_Miss_Too_Large 3.86 ns 3.51 ns -9.2%
JSON_From_String_Copy 14.29 ns 12.06 ns -15.6%
JSON_From_String_Temporary 8.41 ns 7.39 ns -12.1%
JSON_Number_To_Double 12.54 ns 12.64 ns +0.8%
JSON_Object_At_Last_Key_8 5.50 ns 4.83 ns -12.2%
JSON_Object_At_Last_Key_32 17.04 ns 14.07 ns -17.4%
JSON_Object_At_Last_Key_128 66.92 ns 66.73 ns -0.3%
JSON_Object_At_Last_Key_512 209.95 ns 209.75 ns -0.1%
JSON_Divisible_By_Decimal 331.98 ns 242.98 ns -26.8%
JSON_PropertySet_Contains 62.44 ns 54.12 ns -13.3%
JSON_PropertySet_Filter_Object_Properties 52.88 ns 46.14 ns -12.7%
JSON_PropertySet_Insert 484.52 ns 381.60 ns -21.2%
JSON_Stringify_Schema_Web_Of_Things 76.59 us 87.28 us +14.0%
JSON_Prettify_Schema_Web_Of_Things 210.72 us 189.25 us -10.2%
Pointer_Object_Traverse 28.11 ns 25.29 ns -10.0%
Pointer_Object_Try_Traverse 44.14 ns 45.80 ns +3.8%
Pointer_Push_Back_Pointer_To_Weak_Pointer 192.33 ns 179.47 ns -6.7%
Pointer_Walker_Schema_ISO_Language 1.94 ms 1.86 ms -4.3%
Pointer_Untracked_Deeply_Nested 1.19 ms 1.13 ms -5.6%
Pointer_Tracked_Deeply_Nested 1.43 ms 1.43 ms -0.1%
Pointer_Position_Tracker_Get_Deeply_Nested 511.30 ns 443.21 ns -13.3%
Schema_Tracker_ISO_Language 3.93 ms 3.46 ms -12.1%
Schema_Tracker_ISO_Language_To_JSON 15.99 ms 13.56 ms -15.2%
Schema_Frame_WoT_References 2.53 ms 2.66 ms +4.8%
Schema_Frame_OMC_References 13.50 ms 12.50 ms -7.4%
Schema_Frame_OMC_Pointers 24.16 ms 25.35 ms +4.9%
Schema_Frame_OMC_Locations 10.87 ms 10.90 ms +0.3%
Schema_Frame_ISO_Language_Locations 33.49 ms 30.68 ms -8.4%
Schema_Frame_ISO_Language_Root 156.99 ns 158.15 ns +0.7%
Schema_Frame_KrakenD_References 20.03 ms 18.93 ms -5.5%
Schema_Frame_KrakenD_Reachable 249.47 ms 267.68 ms +7.3%
Schema_Frame_ISO_Language_Locations_To_JSON 30.93 ms 32.13 ms +3.9%
Schema_Frame_Many_Resources_References 115.80 ms 151.31 ms +30.7%
Schema_Frame_Deeply_Nested_References 16.61 ms 17.72 ms +6.7%
Schema_Format_ISO_Language 34.14 ms 34.07 ms -0.2%
Schema_Bundle_Meta_2020_12 605.46 us 595.62 us -1.6%
Schema_Bundle_Many_Remotes_With_Fragments 7.88 ms 7.22 ms -8.4%
OpenAPI_Frame_GSMTasks_3_0 174.74 ms 200.15 ms +14.5%
OpenAPI_Format_Synthetic_3_1 56.86 ms 60.59 ms +6.6%
JSONPath_Descendant_Filter_Nested 1.90 us 1.76 us -7.5%
URITemplateRouter_Create 23.99 us 25.82 us +7.6%
URITemplateRouter_Match 225.49 ns 231.97 ns +2.9%
URITemplateRouterView_Restore 11.70 us 13.41 us +14.7%
URITemplateRouterView_Match 167.87 ns 169.43 ns +0.9%
URITemplateRouterView_Arguments 640.56 ns 664.16 ns +3.7%
URITemplateRouter_Match_BasePath 275.66 ns 260.36 ns -5.5%
URITemplateRouterView_Match_BasePath 179.88 ns 170.56 ns -5.2%
JSONL_Parse_Large 9.40 ms 8.53 ms -9.3%
JSONL_Parse_Large_GZIP 8.64 ms 8.53 ms -1.3%
JSONLD_Catalog_Annotation_List_Populate 644.83 us 699.83 us +8.5%
JSONLD_Catalog_Materialize 3.83 ms 3.86 ms +0.8%
HTML_Build_Table_100000 35.61 ms 35.46 ms -0.4%
HTML_Render_Table_100000 2.29 ms 2.28 ms -0.3%
Markdown_To_HTML_Realistic_Document 4.15 ms 4.05 ms -2.3%
Markdown_To_HTML_Pathological 12.84 ms 13.42 ms +4.5%
Markdown_To_HTML_Short_Descriptions 414.51 ns 389.03 ns -6.1%
GZIP_Compress_ISO_Language_Set_3_Locations 36.90 ms 38.34 ms +3.9%
GZIP_Decompress_ISO_Language_Set_3_Locations 3.57 ms 3.78 ms +5.9%
GZIP_Decompress_Default_Level_ISO_Language_Set_3_Locations 6.11 ms 5.45 ms -10.7%
GZIP_Decompress_Stream_Default_Level_ISO_Language_Set_3_Locations 7.90 ms 7.32 ms -7.4%
GZIP_Compress_ISO_Language_Set_3_Schema 2.49 ms 2.03 ms -18.7%
GZIP_Decompress_ISO_Language_Set_3_Schema 370.71 us 391.24 us +5.5%
JOSE_VerifySignature_RS256 29.39 us 27.34 us -7.0%
JOSE_VerifySignature_ES512 1.36 ms 1.21 ms -10.9%
Crypto_CRC32_Large_JSONL 28.72 us 28.03 us -2.4%
Crypto_AES_GCM_Encrypt_128_1KB 4.67 us 4.43 us -5.1%
Crypto_AES_GCM_Decrypt_128_1KB 5.20 us 5.30 us +2.1%
Crypto_AES_GCM_Encrypt_256_1KB 4.82 us 4.65 us -3.7%
Metapack_Parse_OMC_JSON_V2 1.64 ns 1.70 ns +3.7%
Metapack_Read_OMC_JSON_V2 314.59 us 384.21 us +22.1%
Metapack_Write_OMC_JSON_V2 661.35 us 812.93 us +22.9%

Signed-off-by: Juan Cruz Viotti <jv@jviotti.com>
Signed-off-by: Juan Cruz Viotti <jv@jviotti.com>
Signed-off-by: Juan Cruz Viotti <jv@jviotti.com>
Signed-off-by: Juan Cruz Viotti <jv@jviotti.com>
@jviotti
jviotti merged commit e82bee3 into main Oct 28, 2026
15 checks passed
@jviotti
jviotti deleted the bundle-oas-externaldocs branch October 28, 2026 15:24
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