Skip to content

Diagnose references that lead nowhere and report extra YAML documents - #3026

Merged
jviotti merged 2 commits into
mainfrom
feedback-openapi
Oct 23, 2026
Merged

jviotti merged 2 commits into
mainfrom
feedback-openapi

Conversation

@jviotti

@jviotti jviotti commented Oct 23, 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>

@cubic-dev-ai cubic-dev-ai 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.

All reported issues were addressed across 17 files

Reply with feedback, questions, or to request a fix.

View guided diff | Re-trigger cubic

Comment thread src/core/jsonschema/bundle.cc Outdated
@augmentcode

augmentcode Bot commented Oct 23, 2026

Copy link
Copy Markdown
🤖 Augment PR Summary

Summary: Diagnoses dangling references and reports extra YAML documents.

  • Rejects unresolved entry-document schema references, including wrapper documents with custom schema paths.
  • Reports missing local OpenAPI reference targets instead of leaving them unresolved.
  • Applies equivalent diagnostics to URI-based security requirements.
  • Normalizes URI and percent-encoded pointer spellings during schema-frame traversal.
  • Clarifies that OpenAPI resolvers return retrieved content for bundling to assess.
  • Adds more_documents output overloads for YAML strings and files.
  • Includes corresponding callback-based parsing and reading overloads.
  • Preserves existing overloads, trailing-document validation, and file-error wrapping.
  • Adds schema-frame, OpenAPI 3.0–3.2, and YAML regression coverage.

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

Fix All in Augment

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


if (sourcemeta::core::openapi_within_document(entry.second.destination,
walk.base)) {
throw sourcemeta::core::OpenAPIReferenceError{

@augmentcode augmentcode Bot Oct 23, 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.

Could you check the encoded-pointer case at src/core/openapi/bundle.cc:83? A valid $ref such as #%2Fcomponents%2Fresponses%2FR resolves to an existing R, but walk.locations stores #/components/responses/R while destination retains %2F, so this now throws OpenAPIReferenceError for a target the walk already found.

Other locations where this applies: src/core/openapi/bundle.cc:108

Severity: medium

Other Locations
  • src/core/openapi/bundle.cc:108

Fix This in Augment

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

Comment thread src/core/jsonschema/bundle.cc Outdated
// resource of its own, so nothing framed answers to the document's base
// and the test above passes it over, even though the fragment is all that
// leads nowhere
if (depth == 0 && !default_base.empty() && reference.base == default_base) {

@augmentcode augmentcode Bot Oct 23, 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.

Could you check the noncanonical retrieval-base case at src/core/jsonschema/bundle.cc:693? With wrapper paths, default_base = "HTTPS://EXAMPLE.COM:443/openapi.json" and $ref: "#/components/schemas/Missing", reference.base is already https://example.com/openapi.json, so this comparison fails and an empty resolver produces SchemaResolutionError instead of diagnosing the dangling local fragment with SchemaReferenceError.

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 23, 2026 •

Copy link
Copy Markdown

Benchmark linux/llvm

Measured against main at 3ce74df.

17 slower, 5 faster, 93 within 5%.

Benchmark main This branch Change
URITemplateRouterView_Match_BasePath 77.66 ns 89.82 ns +15.7%
URITemplateRouterView_Match 66.69 ns 76.28 ns +14.4%
Regex_Caret_Lower_S_Or_Upper_S_Asterisk_Dollar 1.21 ns 1.37 ns +13.5%
JSONLD_Catalog_Materialize 1.75 ms 1.95 ms +11.6%
OpenAPI_Frame_GSMTasks_3_0 96.51 ms 105.90 ms +9.7%
Pointer_Push_Back_Pointer_To_Weak_Pointer 64.83 ns 71.01 ns +9.5%
URITemplateRouter_Match_BasePath 85.44 ns 93.48 ns +9.4%
OpenAPI_Format_Synthetic_3_1 28.94 ms 31.47 ms +8.7%
JSON_Divisible_By_Decimal 158.90 ns 172.44 ns +8.5%
Schema_Bundle_Meta_2020_12 269.94 us 290.47 us +7.6%
Markdown_To_HTML_Realistic_Document 2.00 ms 2.15 ms +7.3%
HTML_Build_Table_100000 17.97 ms 19.25 ms +7.1%
Schema_Bundle_Many_Remotes_With_Fragments 3.32 ms 3.54 ms +6.6%
JSON_String_Equal_10 2.42 ns 2.58 ns +6.5%
Schema_Frame_KrakenD_References 8.08 ms 8.60 ms +6.4%
JSONLD_Catalog_Annotation_List_Populate 317.49 us 336.84 us +6.1%
HTML_Render_Table_100000 1.60 ms 1.69 ms +5.6%
Regex_Caret_Group_Period_Asterisk_Group_Dollar 1.46 ns 1.38 ns -5.0%
Schema_Frame_Many_Resources_References 69.22 ms 64.62 ms -6.6%
JSON_String_Equal_100 3.10 ns 2.85 ns -8.0%
Schema_Frame_ISO_Language_Root 167.60 ns 150.17 ns -10.4%
JSON_Array_Of_Strings_Unique_Colliding_256 95.34 us 84.62 us -11.2%
All 115 benchmarks
Benchmark main This branch Change
Regex_Lower_S_Or_Upper_S_Asterisk 1.43 ns 1.40 ns -2.5%
Regex_Caret_Lower_S_Or_Upper_S_Asterisk_Dollar 1.21 ns 1.37 ns +13.5%
Regex_Period_Asterisk 1.18 ns 1.13 ns -4.0%
Regex_Group_Period_Asterisk_Group 1.19 ns 1.15 ns -3.2%
Regex_Period_Plus 1.42 ns 1.38 ns -2.9%
Regex_Period 1.41 ns 1.39 ns -1.9%
Regex_Caret_Period_Plus_Dollar 1.19 ns 1.16 ns -2.4%
Regex_Caret_Group_Period_Plus_Group_Dollar 1.18 ns 1.18 ns +0.1%
Regex_Caret_Period_Asterisk_Dollar 1.45 ns 1.40 ns -3.0%
Regex_Caret_Group_Period_Asterisk_Group_Dollar 1.46 ns 1.38 ns -5.0%
Regex_Caret_X_Hyphen 2.40 ns 2.32 ns -3.3%
Regex_Period_Md_Dollar 14.04 ns 13.74 ns -2.1%
Regex_Caret_Slash_Period_Asterisk 2.65 ns 2.53 ns -4.5%
Regex_Caret_Period_Range_Dollar 1.66 ns 1.58 ns -5.0%
Regex_Nested_Backtrack 20.52 ns 20.00 ns -2.5%
JSON_Array_Of_Objects_Unique 226.18 ns 219.92 ns -2.8%
JSON_Array_Of_Integers_Unique_256 2.22 us 2.22 us +0.2%
JSON_Array_Of_Strings_Unique_Colliding_256 95.34 us 84.62 us -11.2%
JSON_Parse_1 2.34 us 2.26 us -3.2%
JSON_Parse_Real 2.34 us 2.41 us +2.8%
JSON_Parse_Real_Inexact 2.18 us 2.25 us +2.9%
JSON_Parse_Decimal 4.08 us 3.99 us -2.4%
JSON_Parse_Schema_ISO_Language 1.87 ms 1.82 ms -2.7%
JSON_Parse_KrakenD 651.53 us 641.31 us -1.6%
JSON_Stringify_ISO_Language 1.31 ms 1.26 ms -3.9%
JSON_Prettify_KrakenD 1.10 ms 1.06 ms -3.4%
JSON_Parse_Integer 2.03 us 2.02 us -0.8%
JSON_Parse_String_NonSSO_Plain 1.89 us 1.91 us +1.2%
JSON_Parse_String_SSO_Plain 1.68 us 1.66 us -1.4%
JSON_Parse_String_Escape_Heavy 7.38 us 7.14 us -3.3%
JSON_Parse_Object_Short_Keys 4.06 us 3.95 us -2.6%
JSON_Parse_Object_Scalar_Properties 2.06 us 2.06 us +0.2%
JSON_Parse_Object_Array_Properties 2.81 us 2.80 us -0.5%
JSON_Parse_Object_Object_Properties 2.79 us 2.70 us -3.1%
JSON_Parse_Nested_Containers 18.24 us 17.68 us -3.1%
JSON_Fast_Hash_Helm_Chart_Lock 34.20 ns 33.51 ns -2.0%
JSON_Equality_Helm_Chart_Lock 84.71 ns 82.86 ns -2.2%
JSON_String_Equal_10 2.42 ns 2.58 ns +6.5%
JSON_String_Equal_100 3.10 ns 2.85 ns -8.0%
JSON_String_Equal_Small_By_Perfect_Hash_10 0.47 ns 0.47 ns -1.3%
JSON_String_Equal_Small_By_Runtime_Perfect_Hash_10 7.14 ns 7.14 ns -0.0%
JSON_String_Fast_Hash_10 1.18 ns 1.16 ns -2.1%
JSON_String_Fast_Hash_100 1.18 ns 1.19 ns +0.6%
JSON_String_Key_Hash_10 1.18 ns 1.15 ns -2.2%
JSON_String_Key_Hash_100 3.76 ns 3.72 ns -1.0%
JSON_Object_Defines_Miss_Same_Length 1.48 ns 1.43 ns -3.4%
JSON_Object_Defines_Miss_Too_Small 1.78 ns 1.80 ns +1.0%
JSON_Object_Defines_Miss_Too_Large 1.17 ns 1.18 ns +1.2%
JSON_From_String_Copy 5.72 ns 5.70 ns -0.3%
JSON_From_String_Temporary 5.20 ns 5.04 ns -3.1%
JSON_Number_To_Double 8.30 ns 8.39 ns +1.0%
JSON_Object_At_Last_Key_8 2.34 ns 2.37 ns +1.4%
JSON_Object_At_Last_Key_32 14.95 ns 14.96 ns +0.1%
JSON_Object_At_Last_Key_128 38.65 ns 39.07 ns +1.1%
JSON_Object_At_Last_Key_512 147.29 ns 151.78 ns +3.1%
JSON_Divisible_By_Decimal 158.90 ns 172.44 ns +8.5%
JSON_PropertySet_Contains 25.41 ns 25.29 ns -0.5%
JSON_PropertySet_Filter_Object_Properties 28.53 ns 28.38 ns -0.6%
JSON_PropertySet_Insert 272.74 ns 277.77 ns +1.8%
JSON_Stringify_Schema_Web_Of_Things 31.86 us 31.92 us +0.2%
JSON_Prettify_Schema_Web_Of_Things 88.50 us 86.79 us -1.9%
Pointer_Object_Traverse 14.31 ns 14.38 ns +0.5%
Pointer_Object_Try_Traverse 19.11 ns 18.36 ns -4.0%
Pointer_Push_Back_Pointer_To_Weak_Pointer 64.83 ns 71.01 ns +9.5%
Pointer_Walker_Schema_ISO_Language 758.74 us 772.73 us +1.8%
Pointer_Untracked_Deeply_Nested 644.05 us 652.19 us +1.3%
Pointer_Tracked_Deeply_Nested 884.88 us 919.03 us +3.9%
Pointer_Position_Tracker_Get_Deeply_Nested 407.59 ns 397.96 ns -2.4%
Schema_Tracker_ISO_Language 2.34 ms 2.24 ms -4.5%
Schema_Tracker_ISO_Language_To_JSON 8.75 ms 8.89 ms +1.7%
Schema_Frame_WoT_References 1.10 ms 1.10 ms -0.2%
Schema_Frame_OMC_References 5.04 ms 4.92 ms -2.5%
Schema_Frame_OMC_Pointers 9.57 ms 9.19 ms -3.9%
Schema_Frame_OMC_Locations 4.32 ms 4.19 ms -3.1%
Schema_Frame_ISO_Language_Locations 24.45 ms 23.72 ms -3.0%
Schema_Frame_ISO_Language_Root 167.60 ns 150.17 ns -10.4%
Schema_Frame_KrakenD_References 8.08 ms 8.60 ms +6.4%
Schema_Frame_KrakenD_Reachable 76.61 ms 80.24 ms +4.7%
Schema_Frame_ISO_Language_Locations_To_JSON 20.92 ms 21.54 ms +3.0%
Schema_Frame_Many_Resources_References 69.22 ms 64.62 ms -6.6%
Schema_Frame_Deeply_Nested_References 5.85 ms 5.78 ms -1.3%
Schema_Format_ISO_Language 28.79 ms 29.44 ms +2.2%
Schema_Bundle_Meta_2020_12 269.94 us 290.47 us +7.6%
Schema_Bundle_Many_Remotes_With_Fragments 3.32 ms 3.54 ms +6.6%
OpenAPI_Frame_GSMTasks_3_0 96.51 ms 105.90 ms +9.7%
OpenAPI_Format_Synthetic_3_1 28.94 ms 31.47 ms +8.7%
JSONPath_Descendant_Filter_Nested 919.08 ns 951.91 ns +3.6%
URITemplateRouter_Create 10.96 us 10.90 us -0.6%
URITemplateRouter_Match 72.23 ns 72.21 ns -0.0%
URITemplateRouterView_Restore 7.09 us 6.88 us -2.9%
URITemplateRouterView_Match 66.69 ns 76.28 ns +14.4%
URITemplateRouterView_Arguments 292.71 ns 288.36 ns -1.5%
URITemplateRouter_Match_BasePath 85.44 ns 93.48 ns +9.4%
URITemplateRouterView_Match_BasePath 77.66 ns 89.82 ns +15.7%
JSONL_Parse_Large 4.96 ms 5.09 ms +2.6%
JSONL_Parse_Large_GZIP 5.06 ms 5.20 ms +2.7%
JSONLD_Catalog_Annotation_List_Populate 317.49 us 336.84 us +6.1%
JSONLD_Catalog_Materialize 1.75 ms 1.95 ms +11.6%
HTML_Build_Table_100000 17.97 ms 19.25 ms +7.1%
HTML_Render_Table_100000 1.60 ms 1.69 ms +5.6%
Markdown_To_HTML_Realistic_Document 2.00 ms 2.15 ms +7.3%
Markdown_To_HTML_Pathological 7.02 ms 7.30 ms +4.1%
Markdown_To_HTML_Short_Descriptions 280.18 ns 292.42 ns +4.4%
GZIP_Compress_ISO_Language_Set_3_Locations 22.87 ms 23.18 ms +1.4%
GZIP_Decompress_ISO_Language_Set_3_Locations 3.51 ms 3.57 ms +1.6%
GZIP_Decompress_Default_Level_ISO_Language_Set_3_Locations 4.51 ms 4.56 ms +1.1%
GZIP_Decompress_Stream_Default_Level_ISO_Language_Set_3_Locations 4.94 ms 5.11 ms +3.5%
GZIP_Compress_ISO_Language_Set_3_Schema 1.54 ms 1.52 ms -0.9%
GZIP_Decompress_ISO_Language_Set_3_Schema 295.26 us 296.73 us +0.5%
JOSE_VerifySignature_RS256 30.66 us 31.66 us +3.3%
JOSE_VerifySignature_ES512 1.06 ms 1.11 ms +4.2%
Crypto_CRC32_Large_JSONL 74.37 us 73.18 us -1.6%
Crypto_AES_GCM_Encrypt_128_1KB 20.23 us 20.12 us -0.6%
Crypto_AES_GCM_Decrypt_128_1KB 20.16 us 20.37 us +1.0%
Crypto_AES_GCM_Encrypt_256_1KB 24.76 us 25.41 us +2.6%

@github-actions

github-actions Bot commented Oct 23, 2026 •

Copy link
Copy Markdown

Benchmark windows/msvc

Measured against main at 3ce74df.

22 slower, 6 faster, 87 within 5%.

Benchmark main This branch Change
JSON_Parse_Object_Object_Properties 8.78 us 9.65 us +9.9%
JSON_String_Equal_Small_By_Runtime_Perfect_Hash_10 9.19 ns 10.06 ns +9.4%
Schema_Format_ISO_Language 67.35 ms 73.61 ms +9.3%
JSON_Parse_Object_Array_Properties 8.73 us 9.49 us +8.7%
Schema_Frame_ISO_Language_Locations 61.70 ms 66.93 ms +8.5%
Schema_Frame_Many_Resources_References 246.95 ms 267.86 ms +8.5%
Pointer_Walker_Schema_ISO_Language 7.38 ms 7.99 ms +8.3%
Schema_Bundle_Meta_2020_12 1.19 ms 1.28 ms +7.8%
JSON_Object_At_Last_Key_8 7.92 ns 8.53 ns +7.7%
Regex_Caret_X_Hyphen 6.17 ns 6.63 ns +7.5%
Schema_Frame_KrakenD_Reachable 207.39 ms 220.83 ms +6.5%
Regex_Caret_Group_Period_Asterisk_Group_Dollar 2.42 ns 2.56 ns +5.9%
Schema_Tracker_ISO_Language_To_JSON 48.41 ms 51.26 ms +5.9%
JSON_Fast_Hash_Helm_Chart_Lock 85.31 ns 90.32 ns +5.9%
Schema_Frame_KrakenD_References 32.47 ms 34.28 ms +5.6%
Crypto_AES_GCM_Decrypt_128_1KB 1.48 us 1.57 us +5.5%
Markdown_To_HTML_Pathological 16.11 ms 17.00 ms +5.5%
JSON_Prettify_KrakenD 5.33 ms 5.62 ms +5.4%
JSON_String_Key_Hash_10 2.99 ns 3.15 ns +5.3%
Schema_Tracker_ISO_Language 10.39 ms 10.95 ms +5.3%
JSON_Number_To_Double 34.16 ns 35.97 ns +5.3%
JSON_Stringify_Schema_Web_Of_Things 161.08 us 169.16 us +5.0%
JSON_Parse_Object_Short_Keys 9.87 us 9.38 us -5.0%
Regex_Caret_Period_Asterisk_Dollar 2.40 ns 2.25 ns -5.9%
Regex_Lower_S_Or_Upper_S_Asterisk 2.47 ns 2.26 ns -8.7%
JSON_Object_At_Last_Key_512 324.41 ns 294.77 ns -9.1%
Regex_Caret_Group_Period_Plus_Group_Dollar 2.39 ns 2.15 ns -10.2%
Regex_Period 2.52 ns 2.13 ns -15.4%
All 115 benchmarks
Benchmark main This branch Change
Regex_Lower_S_Or_Upper_S_Asterisk 2.47 ns 2.26 ns -8.7%
Regex_Caret_Lower_S_Or_Upper_S_Asterisk_Dollar 2.57 ns 2.52 ns -1.8%
Regex_Period_Asterisk 2.53 ns 2.49 ns -1.8%
Regex_Group_Period_Asterisk_Group 2.46 ns 2.55 ns +3.7%
Regex_Period_Plus 2.51 ns 2.47 ns -1.8%
Regex_Period 2.52 ns 2.13 ns -15.4%
Regex_Caret_Period_Plus_Dollar 2.50 ns 2.49 ns -0.3%
Regex_Caret_Group_Period_Plus_Group_Dollar 2.39 ns 2.15 ns -10.2%
Regex_Caret_Period_Asterisk_Dollar 2.40 ns 2.25 ns -5.9%
Regex_Caret_Group_Period_Asterisk_Group_Dollar 2.42 ns 2.56 ns +5.9%
Regex_Caret_X_Hyphen 6.17 ns 6.63 ns +7.5%
Regex_Period_Md_Dollar 26.90 ns 27.75 ns +3.2%
Regex_Caret_Slash_Period_Asterisk 5.87 ns 6.09 ns +3.7%
Regex_Caret_Period_Range_Dollar 2.81 ns 2.83 ns +0.7%
Regex_Nested_Backtrack 38.64 ns 38.19 ns -1.1%
JSON_Array_Of_Objects_Unique 481.55 ns 479.37 ns -0.5%
JSON_Array_Of_Integers_Unique_256 4.28 us 4.31 us +0.8%
JSON_Array_Of_Strings_Unique_Colliding_256 233.30 us 239.14 us +2.5%
JSON_Parse_1 6.94 us 6.71 us -3.3%
JSON_Parse_Real 5.18 us 5.35 us +3.3%
JSON_Parse_Real_Inexact 5.33 us 5.55 us +4.1%
JSON_Parse_Decimal 8.88 us 9.32 us +5.0%
JSON_Parse_Schema_ISO_Language 7.57 ms 7.90 ms +4.4%
JSON_Parse_KrakenD 2.08 ms 2.06 ms -0.6%
JSON_Stringify_ISO_Language 7.41 ms 7.58 ms +2.3%
JSON_Prettify_KrakenD 5.33 ms 5.62 ms +5.4%
JSON_Parse_Integer 4.74 us 4.83 us +1.7%
JSON_Parse_String_NonSSO_Plain 6.41 us 6.40 us -0.1%
JSON_Parse_String_SSO_Plain 3.00 us 3.01 us +0.6%
JSON_Parse_String_Escape_Heavy 22.77 us 22.21 us -2.5%
JSON_Parse_Object_Short_Keys 9.87 us 9.38 us -5.0%
JSON_Parse_Object_Scalar_Properties 5.08 us 5.29 us +4.2%
JSON_Parse_Object_Array_Properties 8.73 us 9.49 us +8.7%
JSON_Parse_Object_Object_Properties 8.78 us 9.65 us +9.9%
JSON_Parse_Nested_Containers 60.81 us 62.94 us +3.5%
JSON_Fast_Hash_Helm_Chart_Lock 85.31 ns 90.32 ns +5.9%
JSON_Equality_Helm_Chart_Lock 192.38 ns 196.50 ns +2.1%
JSON_String_Equal_10 8.29 ns 8.51 ns +2.7%
JSON_String_Equal_100 11.81 ns 11.69 ns -1.0%
JSON_String_Equal_Small_By_Perfect_Hash_10 1.29 ns 1.32 ns +2.0%
JSON_String_Equal_Small_By_Runtime_Perfect_Hash_10 9.19 ns 10.06 ns +9.4%
JSON_String_Fast_Hash_10 4.26 ns 4.32 ns +1.4%
JSON_String_Fast_Hash_100 4.25 ns 4.41 ns +3.8%
JSON_String_Key_Hash_10 2.99 ns 3.15 ns +5.3%
JSON_String_Key_Hash_100 8.04 ns 8.08 ns +0.5%
JSON_Object_Defines_Miss_Same_Length 3.42 ns 3.45 ns +0.9%
JSON_Object_Defines_Miss_Too_Small 3.89 ns 3.93 ns +1.1%
JSON_Object_Defines_Miss_Too_Large 3.76 ns 3.63 ns -3.3%
JSON_From_String_Copy 46.65 ns 48.92 ns +4.9%
JSON_From_String_Temporary 53.60 ns 56.00 ns +4.5%
JSON_Number_To_Double 34.16 ns 35.97 ns +5.3%
JSON_Object_At_Last_Key_8 7.92 ns 8.53 ns +7.7%
JSON_Object_At_Last_Key_32 17.19 ns 17.65 ns +2.7%
JSON_Object_At_Last_Key_128 81.00 ns 81.09 ns +0.1%
JSON_Object_At_Last_Key_512 324.41 ns 294.77 ns -9.1%
JSON_Divisible_By_Decimal 334.15 ns 320.14 ns -4.2%
JSON_PropertySet_Contains 77.25 ns 79.67 ns +3.1%
JSON_PropertySet_Filter_Object_Properties 52.17 ns 53.15 ns +1.9%
JSON_PropertySet_Insert 1.01 us 1.02 us +1.5%
JSON_Stringify_Schema_Web_Of_Things 161.08 us 169.16 us +5.0%
JSON_Prettify_Schema_Web_Of_Things 488.36 us 505.41 us +3.5%
Pointer_Object_Traverse 39.99 ns 41.08 ns +2.7%
Pointer_Object_Try_Traverse 41.45 ns 43.00 ns +3.7%
Pointer_Push_Back_Pointer_To_Weak_Pointer 134.83 ns 139.88 ns +3.7%
Pointer_Walker_Schema_ISO_Language 7.38 ms 7.99 ms +8.3%
Pointer_Untracked_Deeply_Nested 1.96 ms 1.97 ms +0.4%
Pointer_Tracked_Deeply_Nested 3.53 ms 3.51 ms -0.6%
Pointer_Position_Tracker_Get_Deeply_Nested 566.83 ns 582.28 ns +2.7%
Schema_Tracker_ISO_Language 10.39 ms 10.95 ms +5.3%
Schema_Tracker_ISO_Language_To_JSON 48.41 ms 51.26 ms +5.9%
Schema_Frame_WoT_References 4.16 ms 4.36 ms +4.9%
Schema_Frame_OMC_References 19.26 ms 19.77 ms +2.7%
Schema_Frame_OMC_Pointers 33.27 ms 34.75 ms +4.5%
Schema_Frame_OMC_Locations 16.90 ms 16.59 ms -1.8%
Schema_Frame_ISO_Language_Locations 61.70 ms 66.93 ms +8.5%
Schema_Frame_ISO_Language_Root 2.13 us 2.20 us +3.3%
Schema_Frame_KrakenD_References 32.47 ms 34.28 ms +5.6%
Schema_Frame_KrakenD_Reachable 207.39 ms 220.83 ms +6.5%
Schema_Frame_ISO_Language_Locations_To_JSON 142.15 ms 145.68 ms +2.5%
Schema_Frame_Many_Resources_References 246.95 ms 267.86 ms +8.5%
Schema_Frame_Deeply_Nested_References 20.45 ms 20.41 ms -0.2%
Schema_Format_ISO_Language 67.35 ms 73.61 ms +9.3%
Schema_Bundle_Meta_2020_12 1.19 ms 1.28 ms +7.8%
Schema_Bundle_Many_Remotes_With_Fragments 21.31 ms 21.40 ms +0.4%
OpenAPI_Frame_GSMTasks_3_0 310.51 ms 316.39 ms +1.9%
OpenAPI_Format_Synthetic_3_1 102.44 ms 103.49 ms +1.0%
JSONPath_Descendant_Filter_Nested 2.10 us 2.13 us +1.1%
URITemplateRouter_Create 31.36 us 31.21 us -0.5%
URITemplateRouter_Match 244.62 ns 242.64 ns -0.8%
URITemplateRouterView_Restore 17.32 us 17.05 us -1.5%
URITemplateRouterView_Match 191.19 ns 193.44 ns +1.2%
URITemplateRouterView_Arguments 425.62 ns 433.66 ns +1.9%
URITemplateRouter_Match_BasePath 281.47 ns 281.83 ns +0.1%
URITemplateRouterView_Match_BasePath 215.49 ns 225.36 ns +4.6%
JSONL_Parse_Large 24.36 ms 24.93 ms +2.4%
JSONL_Parse_Large_GZIP 23.26 ms 23.70 ms +1.9%
JSONLD_Catalog_Annotation_List_Populate 2.67 ms 2.65 ms -0.5%
JSONLD_Catalog_Materialize 6.29 ms 6.28 ms -0.3%
HTML_Build_Table_100000 78.03 ms 77.31 ms -0.9%
HTML_Render_Table_100000 12.02 ms 12.08 ms +0.5%
Markdown_To_HTML_Realistic_Document 4.27 ms 4.42 ms +3.5%
Markdown_To_HTML_Pathological 16.11 ms 17.00 ms +5.5%
Markdown_To_HTML_Short_Descriptions 544.09 ns 557.93 ns +2.5%
GZIP_Compress_ISO_Language_Set_3_Locations 29.85 ms 30.65 ms +2.7%
GZIP_Decompress_ISO_Language_Set_3_Locations 11.08 ms 11.06 ms -0.1%
GZIP_Decompress_Default_Level_ISO_Language_Set_3_Locations 12.58 ms 12.50 ms -0.6%
GZIP_Decompress_Stream_Default_Level_ISO_Language_Set_3_Locations 17.61 ms 17.12 ms -2.8%
GZIP_Compress_ISO_Language_Set_3_Schema 2.11 ms 2.06 ms -1.9%
GZIP_Decompress_ISO_Language_Set_3_Schema 677.47 us 654.90 us -3.3%
JOSE_VerifySignature_RS256 18.37 us 18.13 us -1.3%
JOSE_VerifySignature_ES512 972.94 us 979.44 us +0.7%
Crypto_CRC32_Large_JSONL 48.50 us 48.80 us +0.6%
Crypto_AES_GCM_Encrypt_128_1KB 1.54 us 1.53 us -0.9%
Crypto_AES_GCM_Decrypt_128_1KB 1.48 us 1.57 us +5.5%
Crypto_AES_GCM_Encrypt_256_1KB 1.54 us 1.60 us +3.7%

Signed-off-by: Juan Cruz Viotti <jv@jviotti.com>
@jviotti
jviotti merged commit 9889529 into main Oct 23, 2026
15 checks passed
@jviotti
jviotti deleted the feedback-openapi branch October 23, 2026 21:24
@github-actions

Copy link
Copy Markdown

Benchmark linux/gcc

Measured against main at 3ce74df.

11 slower, 21 faster, 83 within 5%.

Benchmark main This branch Change
JSON_Object_At_Last_Key_128 36.70 ns 70.62 ns +92.4%
JSON_Object_At_Last_Key_512 156.84 ns 293.46 ns +87.1%
JSON_Object_At_Last_Key_32 10.30 ns 18.27 ns +77.4%
JSON_Object_At_Last_Key_8 3.24 ns 4.91 ns +51.5%
JSON_Object_Defines_Miss_Same_Length 2.46 ns 3.27 ns +33.1%
GZIP_Decompress_ISO_Language_Set_3_Schema 267.53 us 314.47 us +17.5%
Markdown_To_HTML_Pathological 10.84 ms 12.08 ms +11.4%
URITemplateRouter_Match 104.71 ns 114.34 ns +9.2%
Schema_Bundle_Meta_2020_12 464.61 us 493.56 us +6.2%
URITemplateRouter_Match_BasePath 120.70 ns 128.12 ns +6.2%
JSON_From_String_Temporary 6.68 ns 7.06 ns +5.6%
Schema_Frame_Deeply_Nested_References 9.06 ms 8.58 ms -5.4%
JSON_PropertySet_Filter_Object_Properties 29.73 ns 28.10 ns -5.5%
Schema_Frame_ISO_Language_Locations 36.14 ms 33.85 ms -6.3%
OpenAPI_Format_Synthetic_3_1 44.38 ms 41.25 ms -7.1%
Schema_Frame_Many_Resources_References 105.52 ms 97.62 ms -7.5%
Schema_Format_ISO_Language 41.39 ms 38.15 ms -7.8%
HTML_Render_Table_100000 2.01 ms 1.84 ms -8.3%
JSON_PropertySet_Insert 376.85 ns 338.21 ns -10.3%
Regex_Caret_Group_Period_Asterisk_Group_Dollar 1.77 ns 1.57 ns -11.5%
Regex_Period 1.77 ns 1.57 ns -11.5%
Regex_Caret_Lower_S_Or_Upper_S_Asterisk_Dollar 1.77 ns 1.57 ns -11.5%
Regex_Group_Period_Asterisk_Group 1.77 ns 1.50 ns -15.4%
Regex_Caret_Period_Plus_Dollar 1.77 ns 1.50 ns -15.4%
Regex_Period_Asterisk 1.77 ns 1.50 ns -15.4%
Regex_Caret_Group_Period_Plus_Group_Dollar 1.77 ns 1.50 ns -15.4%
JSON_String_Key_Hash_10 2.29 ns 1.92 ns -16.0%
JSON_String_Equal_Small_By_Runtime_Perfect_Hash_10 10.98 ns 9.00 ns -18.1%
JSON_Array_Of_Strings_Unique_Colliding_256 181.00 us 147.65 us -18.4%
Regex_Caret_Period_Asterisk_Dollar 1.84 ns 1.50 ns -18.5%
Regex_Lower_S_Or_Upper_S_Asterisk 1.84 ns 1.50 ns -18.5%
Regex_Period_Plus 1.84 ns 1.50 ns -18.5%
All 115 benchmarks
Benchmark main This branch Change
Crypto_CRC32_Large_JSONL 88.71 us 88.73 us +0.0%
Crypto_AES_GCM_Encrypt_128_1KB 815.10 ns 829.69 ns +1.8%
Crypto_AES_GCM_Decrypt_128_1KB 807.86 ns 812.46 ns +0.6%
Crypto_AES_GCM_Encrypt_256_1KB 838.66 ns 857.75 ns +2.3%
JOSE_VerifySignature_RS256 19.06 us 19.09 us +0.2%
JOSE_VerifySignature_ES512 498.06 us 497.58 us -0.1%
GZIP_Compress_ISO_Language_Set_3_Locations 24.62 ms 24.60 ms -0.1%
GZIP_Decompress_ISO_Language_Set_3_Locations 4.36 ms 4.35 ms -0.3%
GZIP_Decompress_Default_Level_ISO_Language_Set_3_Locations 5.84 ms 5.97 ms +2.3%
GZIP_Decompress_Stream_Default_Level_ISO_Language_Set_3_Locations 7.92 ms 7.58 ms -4.3%
GZIP_Compress_ISO_Language_Set_3_Schema 1.78 ms 1.78 ms -0.4%
GZIP_Decompress_ISO_Language_Set_3_Schema 267.53 us 314.47 us +17.5%
Markdown_To_HTML_Realistic_Document 3.89 ms 3.86 ms -0.6%
Markdown_To_HTML_Pathological 10.84 ms 12.08 ms +11.4%
Markdown_To_HTML_Short_Descriptions 460.69 ns 469.92 ns +2.0%
HTML_Build_Table_100000 29.15 ms 28.64 ms -1.8%
HTML_Render_Table_100000 2.01 ms 1.84 ms -8.3%
JSONLD_Catalog_Annotation_List_Populate 568.23 us 574.39 us +1.1%
JSONLD_Catalog_Materialize 2.87 ms 2.75 ms -4.0%
JSONL_Parse_Large 7.95 ms 7.96 ms +0.1%
JSONL_Parse_Large_GZIP 8.13 ms 8.07 ms -0.7%
URITemplateRouter_Create 15.27 us 15.46 us +1.3%
URITemplateRouter_Match 104.71 ns 114.34 ns +9.2%
URITemplateRouterView_Restore 7.66 us 7.68 us +0.3%
URITemplateRouterView_Match 101.20 ns 97.69 ns -3.5%
URITemplateRouterView_Arguments 359.23 ns 365.97 ns +1.9%
URITemplateRouter_Match_BasePath 120.70 ns 128.12 ns +6.2%
URITemplateRouterView_Match_BasePath 117.84 ns 113.27 ns -3.9%
JSONPath_Descendant_Filter_Nested 1.52 us 1.49 us -2.0%
OpenAPI_Frame_GSMTasks_3_0 130.20 ms 125.46 ms -3.6%
OpenAPI_Format_Synthetic_3_1 44.38 ms 41.25 ms -7.1%
Schema_Frame_WoT_References 1.78 ms 1.78 ms +0.4%
Schema_Frame_OMC_References 8.32 ms 7.99 ms -4.1%
Schema_Frame_OMC_Pointers 15.52 ms 14.84 ms -4.4%
Schema_Frame_OMC_Locations 7.00 ms 6.93 ms -0.9%
Schema_Frame_ISO_Language_Locations 36.14 ms 33.85 ms -6.3%
Schema_Frame_ISO_Language_Root 256.33 ns 256.62 ns +0.1%
Schema_Frame_KrakenD_References 13.46 ms 13.29 ms -1.3%
Schema_Frame_KrakenD_Reachable 103.64 ms 100.59 ms -2.9%
Schema_Frame_ISO_Language_Locations_To_JSON 29.59 ms 29.03 ms -1.9%
Schema_Frame_Many_Resources_References 105.52 ms 97.62 ms -7.5%
Schema_Frame_Deeply_Nested_References 9.06 ms 8.58 ms -5.4%
Schema_Format_ISO_Language 41.39 ms 38.15 ms -7.8%
Schema_Bundle_Meta_2020_12 464.61 us 493.56 us +6.2%
Schema_Bundle_Many_Remotes_With_Fragments 5.44 ms 5.58 ms +2.6%
Pointer_Object_Traverse 19.21 ns 19.24 ns +0.1%
Pointer_Object_Try_Traverse 20.75 ns 20.72 ns -0.2%
Pointer_Push_Back_Pointer_To_Weak_Pointer 110.26 ns 107.37 ns -2.6%
Pointer_Walker_Schema_ISO_Language 1.11 ms 1.09 ms -2.4%
Pointer_Untracked_Deeply_Nested 1.13 ms 1.13 ms -0.3%
Pointer_Tracked_Deeply_Nested 1.48 ms 1.49 ms +1.0%
Pointer_Position_Tracker_Get_Deeply_Nested 563.69 ns 544.02 ns -3.5%
Schema_Tracker_ISO_Language 3.94 ms 3.86 ms -1.9%
Schema_Tracker_ISO_Language_To_JSON 12.01 ms 11.99 ms -0.1%
JSON_Array_Of_Objects_Unique 376.52 ns 380.36 ns +1.0%
JSON_Array_Of_Integers_Unique_256 3.33 us 3.34 us +0.2%
JSON_Array_Of_Strings_Unique_Colliding_256 181.00 us 147.65 us -18.4%
JSON_Parse_1 4.31 us 4.25 us -1.4%
JSON_Parse_Real 4.05 us 4.03 us -0.7%
JSON_Parse_Real_Inexact 3.86 us 3.73 us -3.5%
JSON_Parse_Decimal 6.73 us 6.61 us -1.8%
JSON_Parse_Schema_ISO_Language 2.97 ms 2.94 ms -0.9%
JSON_Parse_KrakenD 1.17 ms 1.17 ms +0.3%
JSON_Stringify_ISO_Language 2.05 ms 2.08 ms +1.4%
JSON_Prettify_KrakenD 1.60 ms 1.62 ms +1.2%
JSON_Parse_Integer 3.27 us 3.27 us -0.0%
JSON_Parse_String_NonSSO_Plain 3.28 us 3.24 us -1.1%
JSON_Parse_String_SSO_Plain 2.63 us 2.59 us -1.7%
JSON_Parse_String_Escape_Heavy 13.05 us 12.97 us -0.7%
JSON_Parse_Object_Short_Keys 8.15 us 8.15 us -0.0%
JSON_Parse_Object_Scalar_Properties 4.11 us 4.13 us +0.4%
JSON_Parse_Object_Array_Properties 5.42 us 5.43 us +0.2%
JSON_Parse_Object_Object_Properties 5.33 us 5.27 us -1.0%
JSON_Parse_Nested_Containers 33.61 us 33.35 us -0.8%
JSON_Fast_Hash_Helm_Chart_Lock 64.27 ns 64.60 ns +0.5%
JSON_Equality_Helm_Chart_Lock 142.18 ns 138.85 ns -2.3%
JSON_String_Equal_10 5.52 ns 5.25 ns -4.9%
JSON_String_Equal_100 6.34 ns 6.07 ns -4.3%
JSON_String_Equal_Small_By_Perfect_Hash_10 0.55 ns 0.55 ns -0.2%
JSON_String_Equal_Small_By_Runtime_Perfect_Hash_10 10.98 ns 9.00 ns -18.1%
JSON_String_Fast_Hash_10 2.33 ns 2.33 ns +0.1%
JSON_String_Fast_Hash_100 2.33 ns 2.35 ns +0.4%
JSON_String_Key_Hash_10 2.29 ns 1.92 ns -16.0%
JSON_String_Key_Hash_100 12.27 ns 12.54 ns +2.2%
JSON_Object_Defines_Miss_Same_Length 2.46 ns 3.27 ns +33.1%
JSON_Object_Defines_Miss_Too_Small 2.45 ns 2.45 ns -0.0%
JSON_Object_Defines_Miss_Too_Large 2.45 ns 2.46 ns +0.1%
JSON_From_String_Copy 7.18 ns 7.47 ns +4.1%
JSON_From_String_Temporary 6.68 ns 7.06 ns +5.6%
JSON_Number_To_Double 19.71 ns 19.69 ns -0.1%
JSON_Object_At_Last_Key_8 3.24 ns 4.91 ns +51.5%
JSON_Object_At_Last_Key_32 10.30 ns 18.27 ns +77.4%
JSON_Object_At_Last_Key_128 36.70 ns 70.62 ns +92.4%
JSON_Object_At_Last_Key_512 156.84 ns 293.46 ns +87.1%
JSON_Divisible_By_Decimal 257.37 ns 264.74 ns +2.9%
JSON_PropertySet_Contains 39.84 ns 39.83 ns -0.0%
JSON_PropertySet_Filter_Object_Properties 29.73 ns 28.10 ns -5.5%
JSON_PropertySet_Insert 376.85 ns 338.21 ns -10.3%
JSON_Stringify_Schema_Web_Of_Things 46.63 us 46.77 us +0.3%
JSON_Prettify_Schema_Web_Of_Things 124.52 us 127.81 us +2.6%
Regex_Lower_S_Or_Upper_S_Asterisk 1.84 ns 1.50 ns -18.5%
Regex_Caret_Lower_S_Or_Upper_S_Asterisk_Dollar 1.77 ns 1.57 ns -11.5%
Regex_Period_Asterisk 1.77 ns 1.50 ns -15.4%
Regex_Group_Period_Asterisk_Group 1.77 ns 1.50 ns -15.4%
Regex_Period_Plus 1.84 ns 1.50 ns -18.5%
Regex_Period 1.77 ns 1.57 ns -11.5%
Regex_Caret_Period_Plus_Dollar 1.77 ns 1.50 ns -15.4%
Regex_Caret_Group_Period_Plus_Group_Dollar 1.77 ns 1.50 ns -15.4%
Regex_Caret_Period_Asterisk_Dollar 1.84 ns 1.50 ns -18.5%
Regex_Caret_Group_Period_Asterisk_Group_Dollar 1.77 ns 1.57 ns -11.5%
Regex_Caret_X_Hyphen 5.34 ns 5.59 ns +4.7%
Regex_Period_Md_Dollar 25.91 ns 25.58 ns -1.3%
Regex_Caret_Slash_Period_Asterisk 5.94 ns 5.95 ns +0.2%
Regex_Caret_Period_Range_Dollar 3.14 ns 3.21 ns +2.3%
Regex_Nested_Backtrack 31.77 ns 31.98 ns +0.7%

@github-actions

Copy link
Copy Markdown

Benchmark macos/llvm

Measured against main at 3ce74df.

16 slower, 77 faster, 22 within 5%.

Benchmark main This branch Change
Pointer_Push_Back_Pointer_To_Weak_Pointer 161.97 ns 216.46 ns +33.6%
JSON_PropertySet_Contains 49.15 ns 64.29 ns +30.8%
Schema_Frame_WoT_References 2.39 ms 3.10 ms +29.7%
JSON_Object_At_Last_Key_128 69.29 ns 88.24 ns +27.4%
JSON_From_String_Temporary 6.41 ns 7.78 ns +21.3%
Pointer_Object_Try_Traverse 37.33 ns 44.75 ns +19.9%
JSON_Object_At_Last_Key_32 14.38 ns 16.52 ns +14.8%
JSON_Divisible_By_Decimal 295.52 ns 339.18 ns +14.8%
JSON_From_String_Copy 11.79 ns 13.43 ns +13.9%
Crypto_AES_GCM_Encrypt_128_1KB 4.89 us 5.53 us +13.3%
JSONLD_Catalog_Annotation_List_Populate 536.84 us 596.19 us +11.1%
JSON_Prettify_Schema_Web_Of_Things 180.13 us 199.10 us +10.5%
JSON_Object_Defines_Miss_Too_Large 3.21 ns 3.52 ns +9.7%
Crypto_CRC32_Large_JSONL 30.03 us 32.48 us +8.1%
JSON_String_Fast_Hash_10 2.36 ns 2.49 ns +5.5%
GZIP_Compress_ISO_Language_Set_3_Schema 2.11 ms 2.22 ms +5.3%
Schema_Tracker_ISO_Language_To_JSON 17.19 ms 16.27 ms -5.3%
JSON_Stringify_Schema_Web_Of_Things 74.94 us 70.43 us -6.0%
GZIP_Decompress_Default_Level_ISO_Language_Set_3_Locations 5.44 ms 5.11 ms -6.1%
JSON_String_Equal_100 7.32 ns 6.82 ns -6.7%
JSON_Object_At_Last_Key_8 5.26 ns 4.86 ns -7.6%
Schema_Frame_OMC_References 13.81 ms 12.71 ms -7.9%
JSON_Parse_String_Escape_Heavy 19.98 us 18.29 us -8.4%
JSON_Array_Of_Strings_Unique_Colliding_256 214.15 us 196.03 us -8.5%
URITemplateRouter_Match 189.64 ns 172.57 ns -9.0%
Pointer_Walker_Schema_ISO_Language 1.85 ms 1.68 ms -9.3%
Schema_Bundle_Meta_2020_12 504.32 us 453.12 us -10.2%
Pointer_Untracked_Deeply_Nested 1.07 ms 961.31 us -10.4%
JSONL_Parse_Large_GZIP 6.49 ms 5.74 ms -11.5%
JSON_PropertySet_Filter_Object_Properties 52.25 ns 46.09 ns -11.8%
JSON_Parse_Object_Scalar_Properties 3.17 us 2.79 us -12.2%
Regex_Caret_Slash_Period_Asterisk 6.64 ns 5.83 ns -12.2%
Crypto_AES_GCM_Decrypt_128_1KB 4.38 us 3.82 us -12.7%
Markdown_To_HTML_Short_Descriptions 430.78 ns 373.94 ns -13.2%
JSON_Parse_Real 5.21 us 4.47 us -14.1%
JSON_String_Key_Hash_100 2.65 ns 2.28 ns -14.1%
JSON_Parse_Nested_Containers 29.25 us 25.06 us -14.3%
URITemplateRouter_Match_BasePath 216.98 ns 185.73 ns -14.4%
Schema_Frame_ISO_Language_Locations 27.82 ms 23.76 ms -14.6%
JSON_Array_Of_Integers_Unique_256 8.02 us 6.82 us -15.0%
Markdown_To_HTML_Realistic_Document 3.95 ms 3.35 ms -15.2%
Schema_Frame_OMC_Locations 9.19 ms 7.75 ms -15.6%
URITemplateRouter_Create 19.86 us 16.64 us -16.2%
URITemplateRouterView_Restore 11.26 us 9.43 us -16.3%
JSON_Parse_Object_Short_Keys 6.42 us 5.37 us -16.4%
OpenAPI_Format_Synthetic_3_1 48.06 ms 39.90 ms -17.0%
JSONPath_Descendant_Filter_Nested 1.51 us 1.24 us -17.6%
HTML_Build_Table_100000 38.14 ms 31.41 ms -17.7%
URITemplateRouterView_Arguments 647.21 ns 532.92 ns -17.7%
Regex_Nested_Backtrack 52.53 ns 43.25 ns -17.7%
Schema_Frame_KrakenD_Reachable 221.57 ms 182.23 ms -17.8%
JSON_Parse_Object_Array_Properties 4.49 us 3.68 us -18.1%
JSON_Number_To_Double 14.43 ns 11.77 ns -18.4%
JOSE_VerifySignature_RS256 28.91 us 23.48 us -18.8%
Crypto_AES_GCM_Encrypt_256_1KB 4.58 us 3.72 us -18.8%
Markdown_To_HTML_Pathological 13.56 ms 10.91 ms -19.6%
Pointer_Position_Tracker_Get_Deeply_Nested 478.02 ns 380.97 ns -20.3%
Schema_Frame_ISO_Language_Root 162.66 ns 129.53 ns -20.4%
JSON_Parse_String_NonSSO_Plain 4.41 us 3.46 us -21.7%
Regex_Period_Asterisk 2.83 ns 2.21 ns -21.9%
Schema_Bundle_Many_Remotes_With_Fragments 6.69 ms 5.20 ms -22.2%
Regex_Period 2.72 ns 2.10 ns -22.8%
Regex_Group_Period_Asterisk_Group 2.82 ns 2.17 ns -22.9%
Regex_Caret_X_Hyphen 9.24 ns 7.08 ns -23.3%
JSON_Stringify_ISO_Language 3.63 ms 2.76 ms -23.9%
Schema_Frame_Many_Resources_References 111.23 ms 84.49 ms -24.0%
Pointer_Tracked_Deeply_Nested 1.77 ms 1.33 ms -24.9%
Regex_Caret_Lower_S_Or_Upper_S_Asterisk_Dollar 2.81 ns 2.10 ns -25.2%
JSON_Parse_Object_Object_Properties 5.00 us 3.71 us -25.7%
Schema_Frame_KrakenD_References 19.15 ms 14.19 ms -25.9%
Regex_Period_Plus 2.92 ns 2.10 ns -28.1%
JSON_Array_Of_Objects_Unique 658.42 ns 467.32 ns -29.0%
Regex_Caret_Period_Range_Dollar 3.69 ns 2.61 ns -29.3%
Schema_Format_ISO_Language 36.65 ms 25.61 ms -30.1%
JSON_Parse_1 5.76 us 3.99 us -30.7%
Schema_Frame_Deeply_Nested_References 18.74 ms 12.92 ms -31.1%
Schema_Frame_OMC_Pointers 25.08 ms 17.23 ms -31.3%
JSON_Parse_Integer 3.89 us 2.67 us -31.3%
JSON_Parse_Schema_ISO_Language 3.54 ms 2.42 ms -31.7%
HTML_Render_Table_100000 2.53 ms 1.71 ms -32.4%
Schema_Frame_ISO_Language_Locations_To_JSON 33.52 ms 22.56 ms -32.7%
JSON_Parse_KrakenD 1.31 ms 877.01 us -33.3%
Regex_Caret_Group_Period_Asterisk_Group_Dollar 2.87 ns 1.88 ns -34.6%
Regex_Caret_Group_Period_Plus_Group_Dollar 3.18 ns 2.01 ns -36.7%
JSON_Prettify_KrakenD 2.87 ms 1.82 ms -36.7%
Regex_Lower_S_Or_Upper_S_Asterisk 3.00 ns 1.90 ns -36.8%
Schema_Tracker_ISO_Language 5.48 ms 3.45 ms -37.0%
JSON_Parse_Real_Inexact 5.96 us 3.61 us -39.4%
JSON_Parse_Decimal 9.63 us 5.77 us -40.0%
JSONLD_Catalog_Materialize 3.81 ms 2.25 ms -40.9%
Regex_Caret_Period_Plus_Dollar 3.34 ns 1.96 ns -41.4%
Regex_Caret_Period_Asterisk_Dollar 3.38 ns 1.88 ns -44.6%
Regex_Period_Md_Dollar 39.97 ns 20.08 ns -49.8%
All 115 benchmarks
Benchmark main This branch Change
Regex_Lower_S_Or_Upper_S_Asterisk 3.00 ns 1.90 ns -36.8%
Regex_Caret_Lower_S_Or_Upper_S_Asterisk_Dollar 2.81 ns 2.10 ns -25.2%
Regex_Period_Asterisk 2.83 ns 2.21 ns -21.9%
Regex_Group_Period_Asterisk_Group 2.82 ns 2.17 ns -22.9%
Regex_Period_Plus 2.92 ns 2.10 ns -28.1%
Regex_Period 2.72 ns 2.10 ns -22.8%
Regex_Caret_Period_Plus_Dollar 3.34 ns 1.96 ns -41.4%
Regex_Caret_Group_Period_Plus_Group_Dollar 3.18 ns 2.01 ns -36.7%
Regex_Caret_Period_Asterisk_Dollar 3.38 ns 1.88 ns -44.6%
Regex_Caret_Group_Period_Asterisk_Group_Dollar 2.87 ns 1.88 ns -34.6%
Regex_Caret_X_Hyphen 9.24 ns 7.08 ns -23.3%
Regex_Period_Md_Dollar 39.97 ns 20.08 ns -49.8%
Regex_Caret_Slash_Period_Asterisk 6.64 ns 5.83 ns -12.2%
Regex_Caret_Period_Range_Dollar 3.69 ns 2.61 ns -29.3%
Regex_Nested_Backtrack 52.53 ns 43.25 ns -17.7%
JSON_Array_Of_Objects_Unique 658.42 ns 467.32 ns -29.0%
JSON_Array_Of_Integers_Unique_256 8.02 us 6.82 us -15.0%
JSON_Array_Of_Strings_Unique_Colliding_256 214.15 us 196.03 us -8.5%
JSON_Parse_1 5.76 us 3.99 us -30.7%
JSON_Parse_Real 5.21 us 4.47 us -14.1%
JSON_Parse_Real_Inexact 5.96 us 3.61 us -39.4%
JSON_Parse_Decimal 9.63 us 5.77 us -40.0%
JSON_Parse_Schema_ISO_Language 3.54 ms 2.42 ms -31.7%
JSON_Parse_KrakenD 1.31 ms 877.01 us -33.3%
JSON_Stringify_ISO_Language 3.63 ms 2.76 ms -23.9%
JSON_Prettify_KrakenD 2.87 ms 1.82 ms -36.7%
JSON_Parse_Integer 3.89 us 2.67 us -31.3%
JSON_Parse_String_NonSSO_Plain 4.41 us 3.46 us -21.7%
JSON_Parse_String_SSO_Plain 2.35 us 2.31 us -1.8%
JSON_Parse_String_Escape_Heavy 19.98 us 18.29 us -8.4%
JSON_Parse_Object_Short_Keys 6.42 us 5.37 us -16.4%
JSON_Parse_Object_Scalar_Properties 3.17 us 2.79 us -12.2%
JSON_Parse_Object_Array_Properties 4.49 us 3.68 us -18.1%
JSON_Parse_Object_Object_Properties 5.00 us 3.71 us -25.7%
JSON_Parse_Nested_Containers 29.25 us 25.06 us -14.3%
JSON_Fast_Hash_Helm_Chart_Lock 56.19 ns 57.79 ns +2.8%
JSON_Equality_Helm_Chart_Lock 174.89 ns 182.24 ns +4.2%
JSON_String_Equal_10 7.83 ns 7.54 ns -3.8%
JSON_String_Equal_100 7.32 ns 6.82 ns -6.7%
JSON_String_Equal_Small_By_Perfect_Hash_10 0.36 ns 0.36 ns +0.4%
JSON_String_Equal_Small_By_Runtime_Perfect_Hash_10 3.52 ns 3.59 ns +2.0%
JSON_String_Fast_Hash_10 2.36 ns 2.49 ns +5.5%
JSON_String_Fast_Hash_100 2.06 ns 2.10 ns +2.0%
JSON_String_Key_Hash_10 1.99 ns 2.05 ns +3.2%
JSON_String_Key_Hash_100 2.65 ns 2.28 ns -14.1%
JSON_Object_Defines_Miss_Same_Length 3.06 ns 3.04 ns -0.9%
JSON_Object_Defines_Miss_Too_Small 3.28 ns 3.40 ns +3.7%
JSON_Object_Defines_Miss_Too_Large 3.21 ns 3.52 ns +9.7%
JSON_From_String_Copy 11.79 ns 13.43 ns +13.9%
JSON_From_String_Temporary 6.41 ns 7.78 ns +21.3%
JSON_Number_To_Double 14.43 ns 11.77 ns -18.4%
JSON_Object_At_Last_Key_8 5.26 ns 4.86 ns -7.6%
JSON_Object_At_Last_Key_32 14.38 ns 16.52 ns +14.8%
JSON_Object_At_Last_Key_128 69.29 ns 88.24 ns +27.4%
JSON_Object_At_Last_Key_512 259.77 ns 271.15 ns +4.4%
JSON_Divisible_By_Decimal 295.52 ns 339.18 ns +14.8%
JSON_PropertySet_Contains 49.15 ns 64.29 ns +30.8%
JSON_PropertySet_Filter_Object_Properties 52.25 ns 46.09 ns -11.8%
JSON_PropertySet_Insert 340.33 ns 336.43 ns -1.1%
JSON_Stringify_Schema_Web_Of_Things 74.94 us 70.43 us -6.0%
JSON_Prettify_Schema_Web_Of_Things 180.13 us 199.10 us +10.5%
Pointer_Object_Traverse 22.80 ns 23.47 ns +3.0%
Pointer_Object_Try_Traverse 37.33 ns 44.75 ns +19.9%
Pointer_Push_Back_Pointer_To_Weak_Pointer 161.97 ns 216.46 ns +33.6%
Pointer_Walker_Schema_ISO_Language 1.85 ms 1.68 ms -9.3%
Pointer_Untracked_Deeply_Nested 1.07 ms 961.31 us -10.4%
Pointer_Tracked_Deeply_Nested 1.77 ms 1.33 ms -24.9%
Pointer_Position_Tracker_Get_Deeply_Nested 478.02 ns 380.97 ns -20.3%
Schema_Tracker_ISO_Language 5.48 ms 3.45 ms -37.0%
Schema_Tracker_ISO_Language_To_JSON 17.19 ms 16.27 ms -5.3%
Schema_Frame_WoT_References 2.39 ms 3.10 ms +29.7%
Schema_Frame_OMC_References 13.81 ms 12.71 ms -7.9%
Schema_Frame_OMC_Pointers 25.08 ms 17.23 ms -31.3%
Schema_Frame_OMC_Locations 9.19 ms 7.75 ms -15.6%
Schema_Frame_ISO_Language_Locations 27.82 ms 23.76 ms -14.6%
Schema_Frame_ISO_Language_Root 162.66 ns 129.53 ns -20.4%
Schema_Frame_KrakenD_References 19.15 ms 14.19 ms -25.9%
Schema_Frame_KrakenD_Reachable 221.57 ms 182.23 ms -17.8%
Schema_Frame_ISO_Language_Locations_To_JSON 33.52 ms 22.56 ms -32.7%
Schema_Frame_Many_Resources_References 111.23 ms 84.49 ms -24.0%
Schema_Frame_Deeply_Nested_References 18.74 ms 12.92 ms -31.1%
Schema_Format_ISO_Language 36.65 ms 25.61 ms -30.1%
Schema_Bundle_Meta_2020_12 504.32 us 453.12 us -10.2%
Schema_Bundle_Many_Remotes_With_Fragments 6.69 ms 5.20 ms -22.2%
OpenAPI_Frame_GSMTasks_3_0 153.07 ms 154.64 ms +1.0%
OpenAPI_Format_Synthetic_3_1 48.06 ms 39.90 ms -17.0%
JSONPath_Descendant_Filter_Nested 1.51 us 1.24 us -17.6%
URITemplateRouter_Create 19.86 us 16.64 us -16.2%
URITemplateRouter_Match 189.64 ns 172.57 ns -9.0%
URITemplateRouterView_Restore 11.26 us 9.43 us -16.3%
URITemplateRouterView_Match 135.63 ns 136.53 ns +0.7%
URITemplateRouterView_Arguments 647.21 ns 532.92 ns -17.7%
URITemplateRouter_Match_BasePath 216.98 ns 185.73 ns -14.4%
URITemplateRouterView_Match_BasePath 154.74 ns 155.09 ns +0.2%
JSONL_Parse_Large 6.68 ms 6.73 ms +0.8%
JSONL_Parse_Large_GZIP 6.49 ms 5.74 ms -11.5%
JSONLD_Catalog_Annotation_List_Populate 536.84 us 596.19 us +11.1%
JSONLD_Catalog_Materialize 3.81 ms 2.25 ms -40.9%
HTML_Build_Table_100000 38.14 ms 31.41 ms -17.7%
HTML_Render_Table_100000 2.53 ms 1.71 ms -32.4%
Markdown_To_HTML_Realistic_Document 3.95 ms 3.35 ms -15.2%
Markdown_To_HTML_Pathological 13.56 ms 10.91 ms -19.6%
Markdown_To_HTML_Short_Descriptions 430.78 ns 373.94 ns -13.2%
GZIP_Compress_ISO_Language_Set_3_Locations 34.57 ms 34.98 ms +1.2%
GZIP_Decompress_ISO_Language_Set_3_Locations 3.52 ms 3.63 ms +3.2%
GZIP_Decompress_Default_Level_ISO_Language_Set_3_Locations 5.44 ms 5.11 ms -6.1%
GZIP_Decompress_Stream_Default_Level_ISO_Language_Set_3_Locations 6.92 ms 6.59 ms -4.7%
GZIP_Compress_ISO_Language_Set_3_Schema 2.11 ms 2.22 ms +5.3%
GZIP_Decompress_ISO_Language_Set_3_Schema 332.34 us 323.82 us -2.6%
JOSE_VerifySignature_RS256 28.91 us 23.48 us -18.8%
JOSE_VerifySignature_ES512 1.24 ms 1.30 ms +4.8%
Crypto_CRC32_Large_JSONL 30.03 us 32.48 us +8.1%
Crypto_AES_GCM_Encrypt_128_1KB 4.89 us 5.53 us +13.3%
Crypto_AES_GCM_Decrypt_128_1KB 4.38 us 3.82 us -12.7%
Crypto_AES_GCM_Encrypt_256_1KB 4.58 us 3.72 us -18.8%

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