Skip to content

Fix the dangling reference left by bundling a boolean remote schema - #3035

Merged
jviotti merged 2 commits into
mainfrom
bundle-fix
Oct 27, 2026
Merged

jviotti merged 2 commits into
mainfrom
bundle-fix

Conversation

@jviotti

@jviotti jviotti commented Oct 27, 2026

Copy link
Copy Markdown
Member

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

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

github-actions Bot commented Oct 27, 2026 •

Copy link
Copy Markdown

Benchmark linux/llvm

Measured against main at e4517ad.

4 slower, 10 faster, 104 within 5%.

Benchmark main This branch Change
JSON_Array_Of_Integers_Unique_256 4.49 us 5.15 us +14.6%
Regex_Caret_Period_Plus_Dollar 2.22 ns 2.49 ns +12.3%
Schema_Frame_OMC_Locations 9.48 ms 10.49 ms +10.7%
JSONLD_Catalog_Materialize 4.36 ms 4.79 ms +9.9%
JSON_Parse_Schema_ISO_Language 3.70 ms 3.48 ms -5.8%
JSON_String_Key_Hash_10 2.70 ns 2.49 ns -7.5%
JSON_Number_To_Double 14.97 ns 13.77 ns -8.0%
Schema_Frame_KrakenD_References 20.76 ms 18.68 ms -10.0%
Regex_Caret_Group_Period_Asterisk_Group_Dollar 2.49 ns 2.18 ns -12.4%
Regex_Caret_Period_Asterisk_Dollar 2.49 ns 2.18 ns -12.5%
Regex_Caret_X_Hyphen 6.55 ns 5.30 ns -19.1%
Pointer_Push_Back_Pointer_To_Weak_Pointer 161.22 ns 130.37 ns -19.1%
JSON_String_Key_Hash_100 9.03 ns 6.55 ns -27.5%
JSON_String_Equal_Small_By_Runtime_Perfect_Hash_10 14.62 ns 10.28 ns -29.7%
All 118 benchmarks
Benchmark main This branch Change
Regex_Lower_S_Or_Upper_S_Asterisk 2.18 ns 2.18 ns -0.1%
Regex_Caret_Lower_S_Or_Upper_S_Asterisk_Dollar 2.19 ns 2.18 ns -0.3%
Regex_Period_Asterisk 2.17 ns 2.18 ns +0.4%
Regex_Group_Period_Asterisk_Group 2.17 ns 2.18 ns +0.3%
Regex_Period_Plus 2.81 ns 2.80 ns -0.3%
Regex_Period 2.80 ns 2.80 ns +0.1%
Regex_Caret_Period_Plus_Dollar 2.22 ns 2.49 ns +12.3%
Regex_Caret_Group_Period_Plus_Group_Dollar 2.21 ns 2.18 ns -1.5%
Regex_Caret_Period_Asterisk_Dollar 2.49 ns 2.18 ns -12.5%
Regex_Caret_Group_Period_Asterisk_Group_Dollar 2.49 ns 2.18 ns -12.4%
Regex_Caret_X_Hyphen 6.55 ns 5.30 ns -19.1%
Regex_Period_Md_Dollar 27.78 ns 27.94 ns +0.6%
Regex_Caret_Slash_Period_Asterisk 6.23 ns 6.23 ns +0.0%
Regex_Caret_Period_Range_Dollar 4.36 ns 4.36 ns -0.1%
Regex_Nested_Backtrack 39.08 ns 38.34 ns -1.9%
JSON_Array_Of_Objects_Unique 396.23 ns 398.95 ns +0.7%
JSON_Array_Of_Integers_Unique_256 4.49 us 5.15 us +14.6%
JSON_Array_Of_Strings_Unique_Colliding_256 215.84 us 216.04 us +0.1%
JSON_Parse_1 4.70 us 4.69 us -0.2%
JSON_Parse_Real 4.84 us 4.82 us -0.3%
JSON_Parse_Real_Inexact 4.29 us 4.44 us +3.4%
JSON_Parse_Decimal 7.46 us 7.59 us +1.8%
JSON_Parse_Schema_ISO_Language 3.70 ms 3.48 ms -5.8%
JSON_Parse_KrakenD 1.14 ms 1.13 ms -1.4%
JSON_Stringify_ISO_Language 2.48 ms 2.49 ms +0.4%
JSON_Prettify_KrakenD 1.99 ms 1.99 ms -0.1%
JSON_Parse_Integer 3.70 us 3.71 us +0.3%
JSON_Parse_String_NonSSO_Plain 3.39 us 3.39 us -0.1%
JSON_Parse_String_SSO_Plain 2.89 us 2.94 us +1.7%
JSON_Parse_String_Escape_Heavy 12.49 us 12.52 us +0.3%
JSON_Parse_Object_Short_Keys 8.69 us 8.64 us -0.7%
JSON_Parse_Object_Scalar_Properties 4.40 us 4.39 us -0.3%
JSON_Parse_Object_Array_Properties 5.39 us 5.22 us -3.1%
JSON_Parse_Object_Object_Properties 5.58 us 5.55 us -0.4%
JSON_Parse_Nested_Containers 35.49 us 35.52 us +0.1%
JSON_Fast_Hash_Helm_Chart_Lock 53.82 ns 53.91 ns +0.2%
JSON_Equality_Helm_Chart_Lock 171.05 ns 169.95 ns -0.6%
JSON_String_Equal_10 6.54 ns 6.41 ns -2.0%
JSON_String_Equal_100 7.17 ns 6.86 ns -4.2%
JSON_String_Equal_Small_By_Perfect_Hash_10 1.13 ns 1.13 ns -0.0%
JSON_String_Equal_Small_By_Runtime_Perfect_Hash_10 14.62 ns 10.28 ns -29.7%
JSON_String_Fast_Hash_10 2.18 ns 2.18 ns +0.1%
JSON_String_Fast_Hash_100 2.18 ns 2.18 ns +0.0%
JSON_String_Key_Hash_10 2.70 ns 2.49 ns -7.5%
JSON_String_Key_Hash_100 9.03 ns 6.55 ns -27.5%
JSON_Object_Defines_Miss_Same_Length 2.71 ns 2.76 ns +2.1%
JSON_Object_Defines_Miss_Too_Small 3.44 ns 3.43 ns -0.4%
JSON_Object_Defines_Miss_Too_Large 3.43 ns 3.43 ns +0.2%
JSON_From_String_Copy 11.30 ns 11.01 ns -2.6%
JSON_From_String_Temporary 9.96 ns 10.01 ns +0.5%
JSON_Number_To_Double 14.97 ns 13.77 ns -8.0%
JSON_Object_At_Last_Key_8 3.85 ns 3.94 ns +2.5%
JSON_Object_At_Last_Key_32 21.49 ns 21.65 ns +0.7%
JSON_Object_At_Last_Key_128 49.18 ns 49.10 ns -0.2%
JSON_Object_At_Last_Key_512 389.32 ns 386.85 ns -0.6%
JSON_Divisible_By_Decimal 279.22 ns 278.86 ns -0.1%
JSON_PropertySet_Contains 52.45 ns 52.93 ns +0.9%
JSON_PropertySet_Filter_Object_Properties 39.60 ns 39.38 ns -0.5%
JSON_PropertySet_Insert 568.85 ns 569.31 ns +0.1%
JSON_Stringify_Schema_Web_Of_Things 57.53 us 56.64 us -1.5%
JSON_Prettify_Schema_Web_Of_Things 161.24 us 164.42 us +2.0%
Pointer_Object_Traverse 28.19 ns 28.21 ns +0.1%
Pointer_Object_Try_Traverse 30.78 ns 30.76 ns -0.1%
Pointer_Push_Back_Pointer_To_Weak_Pointer 161.22 ns 130.37 ns -19.1%
Pointer_Walker_Schema_ISO_Language 1.82 ms 1.78 ms -2.5%
Pointer_Untracked_Deeply_Nested 1.27 ms 1.32 ms +4.4%
Pointer_Tracked_Deeply_Nested 1.69 ms 1.71 ms +0.8%
Pointer_Position_Tracker_Get_Deeply_Nested 617.36 ns 623.56 ns +1.0%
Schema_Tracker_ISO_Language 5.03 ms 5.01 ms -0.3%
Schema_Tracker_ISO_Language_To_JSON 16.59 ms 16.45 ms -0.8%
Schema_Frame_WoT_References 2.18 ms 2.16 ms -1.0%
Schema_Frame_OMC_References 11.50 ms 11.44 ms -0.5%
Schema_Frame_OMC_Pointers 20.89 ms 21.34 ms +2.2%
Schema_Frame_OMC_Locations 9.48 ms 10.49 ms +10.7%
Schema_Frame_ISO_Language_Locations 47.85 ms 48.84 ms +2.1%
Schema_Frame_ISO_Language_Root 275.90 ns 273.37 ns -0.9%
Schema_Frame_KrakenD_References 20.76 ms 18.68 ms -10.0%
Schema_Frame_KrakenD_Reachable 162.51 ms 162.15 ms -0.2%
Schema_Frame_ISO_Language_Locations_To_JSON 32.06 ms 31.73 ms -1.0%
Schema_Frame_Many_Resources_References 120.73 ms 124.92 ms +3.5%
Schema_Frame_Deeply_Nested_References 12.45 ms 12.54 ms +0.7%
Schema_Format_ISO_Language 53.37 ms 53.38 ms +0.0%
Schema_Bundle_Meta_2020_12 627.10 us 627.53 us +0.1%
Schema_Bundle_Many_Remotes_With_Fragments 6.98 ms 6.97 ms -0.1%
OpenAPI_Frame_GSMTasks_3_0 175.50 ms 178.79 ms +1.9%
OpenAPI_Format_Synthetic_3_1 58.01 ms 59.40 ms +2.4%
JSONPath_Descendant_Filter_Nested 1.63 us 1.63 us +0.1%
URITemplateRouter_Create 23.06 us 22.38 us -3.0%
URITemplateRouter_Match 184.22 ns 187.83 ns +2.0%
URITemplateRouterView_Restore 7.93 us 7.84 us -1.0%
URITemplateRouterView_Match 137.65 ns 137.43 ns -0.2%
URITemplateRouterView_Arguments 443.21 ns 430.88 ns -2.8%
URITemplateRouter_Match_BasePath 217.86 ns 211.85 ns -2.8%
URITemplateRouterView_Match_BasePath 163.47 ns 163.24 ns -0.1%
JSONL_Parse_Large 9.63 ms 9.52 ms -1.2%
JSONL_Parse_Large_GZIP 9.79 ms 9.69 ms -1.0%
JSONLD_Catalog_Annotation_List_Populate 603.27 us 608.86 us +0.9%
JSONLD_Catalog_Materialize 4.36 ms 4.79 ms +9.9%
HTML_Build_Table_100000 39.51 ms 38.85 ms -1.7%
HTML_Render_Table_100000 2.26 ms 2.18 ms -3.7%
Markdown_To_HTML_Realistic_Document 4.18 ms 4.16 ms -0.5%
Markdown_To_HTML_Pathological 13.01 ms 13.02 ms +0.1%
Markdown_To_HTML_Short_Descriptions 534.85 ns 532.57 ns -0.4%
GZIP_Compress_ISO_Language_Set_3_Locations 33.56 ms 33.52 ms -0.1%
GZIP_Decompress_ISO_Language_Set_3_Locations 5.20 ms 5.17 ms -0.5%
GZIP_Decompress_Default_Level_ISO_Language_Set_3_Locations 7.13 ms 7.12 ms -0.2%
GZIP_Decompress_Stream_Default_Level_ISO_Language_Set_3_Locations 10.58 ms 10.47 ms -1.0%
GZIP_Compress_ISO_Language_Set_3_Schema 2.07 ms 2.06 ms -0.6%
GZIP_Decompress_ISO_Language_Set_3_Schema 421.31 us 420.73 us -0.1%
JOSE_VerifySignature_RS256 47.29 us 47.01 us -0.6%
JOSE_VerifySignature_ES512 1.55 ms 1.53 ms -1.1%
Crypto_CRC32_Large_JSONL 101.71 us 101.81 us +0.1%
Crypto_AES_GCM_Encrypt_128_1KB 43.57 us 43.56 us -0.0%
Crypto_AES_GCM_Decrypt_128_1KB 43.56 us 43.41 us -0.3%
Crypto_AES_GCM_Encrypt_256_1KB 50.43 us 50.39 us -0.1%
Metapack_Parse_OMC_JSON_V2 6.54 ns 6.54 ns -0.1%
Metapack_Read_OMC_JSON_V2 399.41 us 384.70 us -3.7%
Metapack_Write_OMC_JSON_V2 884.61 us 870.32 us -1.6%

@augmentcode

augmentcode Bot commented Oct 27, 2026

Copy link
Copy Markdown
🤖 Augment PR Summary

Summary: Fix dangling references when bundling remote boolean schemas.

  • Require an object before treating a remote as capable of carrying an identifier.
  • Track boolean remotes as unnamed schemas.
  • Resolve their references against final embedded locations.
  • Preserve boolean values in JSON Schema bundles.
  • Expand OpenAPI remote booleans before JSON Schema bundling.
  • Declare the standalone OpenAPI dialect so normal bundling can attach identifiers.
  • Remove the late boolean conversion from component renaming.
  • Add regression fixtures across Draft 6, Draft 7, 2019-09, 2020-12, and the OpenAPI 3.0 dialect.
  • Cover false schemas, repeated and relative references, empty fragments, named remotes, and wrapper containers.

🤖 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.

// A dialect that defines no identifier keyword leaves the remote unable
// to declare one, so the name it was resolved by is not the name it
// answers to afterwards
} else if (!remote_can_name_itself) {

@augmentcode augmentcode Bot Oct 27, 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 case where an anonymous root references {"$id":"https://example.com/outer","$ref":"https://example.com/flag"} and flag resolves to a boolean (src/core/jsonschema/bundle.cc:912)? In the newly selected positional pass, settle_positional_references uses the enclosing resource's parent as the copy host (bundle.cc:376–378), so the boolean copy stays in the document-root $defs while the rewritten #/$defs/... resolves inside outer, leaving a dangling reference.

Severity: medium

Fix This in Augment

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

Comment thread src/core/openapi/bundle.cc Outdated
// says exactly what it says, which is what lets one carry it
if (result.has_value() && result.value().is_boolean()) {
auto spelled{std::move(result).to_owned()};
spell_out(spelled);

@augmentcode augmentcode Bot Oct 27, 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 $ref: "https://example.com/deny#/not" with a resolver returning false at src/core/openapi/bundle.cc:924? spell_out now creates /not before embed_references validates the original fragment, so a reference that previously raised SchemaReferenceError is accepted and resolves to {}.

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

Copy link
Copy Markdown

Benchmark windows/msvc

Measured against main at e4517ad.

11 slower, 5 faster, 102 within 5%.

Benchmark main This branch Change
Schema_Frame_Deeply_Nested_References 15.32 ms 17.24 ms +12.5%
JSON_Object_At_Last_Key_128 71.98 ns 80.02 ns +11.2%
JSON_Fast_Hash_Helm_Chart_Lock 77.25 ns 84.63 ns +9.5%
JSON_Divisible_By_Decimal 285.52 ns 312.71 ns +9.5%
JSON_String_Fast_Hash_100 3.41 ns 3.72 ns +9.0%
JSON_Object_Defines_Miss_Too_Small 3.34 ns 3.61 ns +8.1%
JSON_String_Fast_Hash_10 3.71 ns 4.00 ns +7.7%
Regex_Period_Asterisk 2.34 ns 2.48 ns +6.2%
JSON_Array_Of_Objects_Unique 449.11 ns 475.57 ns +5.9%
JSON_Parse_Real 4.77 us 5.03 us +5.7%
Metapack_Parse_OMC_JSON_V2 4.97 ns 5.23 ns +5.2%
JSON_Parse_String_Escape_Heavy 20.97 us 19.83 us -5.4%
JSON_Parse_String_SSO_Plain 3.27 us 3.07 us -6.3%
JSON_Parse_Object_Object_Properties 8.85 us 8.19 us -7.5%
JSON_Parse_Object_Array_Properties 8.84 us 8.12 us -8.2%
Pointer_Push_Back_Pointer_To_Weak_Pointer 146.78 ns 129.53 ns -11.8%
All 118 benchmarks
Benchmark main This branch Change
Regex_Lower_S_Or_Upper_S_Asterisk 2.27 ns 2.27 ns +0.1%
Regex_Caret_Lower_S_Or_Upper_S_Asterisk_Dollar 2.34 ns 2.43 ns +3.7%
Regex_Period_Asterisk 2.34 ns 2.48 ns +6.2%
Regex_Group_Period_Asterisk_Group 2.33 ns 2.45 ns +4.8%
Regex_Period_Plus 2.48 ns 2.48 ns +0.1%
Regex_Period 2.35 ns 2.41 ns +2.8%
Regex_Caret_Period_Plus_Dollar 2.42 ns 2.41 ns -0.4%
Regex_Caret_Group_Period_Plus_Group_Dollar 2.33 ns 2.40 ns +3.2%
Regex_Caret_Period_Asterisk_Dollar 2.27 ns 2.27 ns -0.0%
Regex_Caret_Group_Period_Asterisk_Group_Dollar 2.33 ns 2.43 ns +4.2%
Regex_Caret_X_Hyphen 5.57 ns 5.67 ns +1.8%
Regex_Period_Md_Dollar 25.78 ns 25.91 ns +0.5%
Regex_Caret_Slash_Period_Asterisk 5.47 ns 5.64 ns +3.1%
Regex_Caret_Period_Range_Dollar 2.68 ns 2.63 ns -1.9%
Regex_Nested_Backtrack 37.09 ns 37.90 ns +2.2%
JSON_Array_Of_Objects_Unique 449.11 ns 475.57 ns +5.9%
JSON_Array_Of_Integers_Unique_256 3.71 us 3.84 us +3.3%
JSON_Array_Of_Strings_Unique_Colliding_256 242.38 us 231.03 us -4.7%
JSON_Parse_1 6.21 us 6.26 us +0.9%
JSON_Parse_Real 4.77 us 5.03 us +5.7%
JSON_Parse_Real_Inexact 4.77 us 4.84 us +1.5%
JSON_Parse_Decimal 8.07 us 8.37 us +3.7%
JSON_Parse_Schema_ISO_Language 7.16 ms 7.27 ms +1.5%
JSON_Parse_KrakenD 2.04 ms 1.94 ms -4.8%
JSON_Stringify_ISO_Language 6.75 ms 6.73 ms -0.2%
JSON_Prettify_KrakenD 5.13 ms 5.05 ms -1.5%
JSON_Parse_Integer 4.11 us 4.30 us +4.7%
JSON_Parse_String_NonSSO_Plain 6.01 us 5.92 us -1.5%
JSON_Parse_String_SSO_Plain 3.27 us 3.07 us -6.3%
JSON_Parse_String_Escape_Heavy 20.97 us 19.83 us -5.4%
JSON_Parse_Object_Short_Keys 9.01 us 9.20 us +2.1%
JSON_Parse_Object_Scalar_Properties 4.95 us 4.74 us -4.2%
JSON_Parse_Object_Array_Properties 8.84 us 8.12 us -8.2%
JSON_Parse_Object_Object_Properties 8.85 us 8.19 us -7.5%
JSON_Parse_Nested_Containers 56.81 us 57.31 us +0.9%
JSON_Fast_Hash_Helm_Chart_Lock 77.25 ns 84.63 ns +9.5%
JSON_Equality_Helm_Chart_Lock 206.63 ns 202.74 ns -1.9%
JSON_String_Equal_10 8.79 ns 8.84 ns +0.6%
JSON_String_Equal_100 11.30 ns 11.25 ns -0.4%
JSON_String_Equal_Small_By_Perfect_Hash_10 1.16 ns 1.15 ns -1.2%
JSON_String_Equal_Small_By_Runtime_Perfect_Hash_10 9.03 ns 8.77 ns -2.9%
JSON_String_Fast_Hash_10 3.71 ns 4.00 ns +7.7%
JSON_String_Fast_Hash_100 3.41 ns 3.72 ns +9.0%
JSON_String_Key_Hash_10 2.90 ns 2.89 ns -0.3%
JSON_String_Key_Hash_100 7.62 ns 7.65 ns +0.4%
JSON_Object_Defines_Miss_Same_Length 4.04 ns 3.99 ns -1.3%
JSON_Object_Defines_Miss_Too_Small 3.34 ns 3.61 ns +8.1%
JSON_Object_Defines_Miss_Too_Large 3.63 ns 3.64 ns +0.1%
JSON_From_String_Copy 43.90 ns 44.16 ns +0.6%
JSON_From_String_Temporary 51.60 ns 53.08 ns +2.9%
JSON_Number_To_Double 32.84 ns 32.73 ns -0.3%
JSON_Object_At_Last_Key_8 7.03 ns 7.10 ns +1.0%
JSON_Object_At_Last_Key_32 21.43 ns 21.24 ns -0.9%
JSON_Object_At_Last_Key_128 71.98 ns 80.02 ns +11.2%
JSON_Object_At_Last_Key_512 252.65 ns 250.63 ns -0.8%
JSON_Divisible_By_Decimal 285.52 ns 312.71 ns +9.5%
JSON_PropertySet_Contains 75.04 ns 73.92 ns -1.5%
JSON_PropertySet_Filter_Object_Properties 54.49 ns 54.63 ns +0.3%
JSON_PropertySet_Insert 958.15 ns 979.44 ns +2.2%
JSON_Stringify_Schema_Web_Of_Things 152.62 us 151.54 us -0.7%
JSON_Prettify_Schema_Web_Of_Things 465.27 us 464.26 us -0.2%
Pointer_Object_Traverse 35.06 ns 36.49 ns +4.1%
Pointer_Object_Try_Traverse 37.62 ns 37.62 ns -0.0%
Pointer_Push_Back_Pointer_To_Weak_Pointer 146.78 ns 129.53 ns -11.8%
Pointer_Walker_Schema_ISO_Language 6.79 ms 7.04 ms +3.6%
Pointer_Untracked_Deeply_Nested 1.88 ms 1.92 ms +2.1%
Pointer_Tracked_Deeply_Nested 3.53 ms 3.58 ms +1.5%
Pointer_Position_Tracker_Get_Deeply_Nested 536.29 ns 525.00 ns -2.1%
Schema_Tracker_ISO_Language 10.27 ms 10.21 ms -0.6%
Schema_Tracker_ISO_Language_To_JSON 47.23 ms 46.89 ms -0.7%
Schema_Frame_WoT_References 4.00 ms 3.96 ms -0.9%
Schema_Frame_OMC_References 18.26 ms 17.68 ms -3.2%
Schema_Frame_OMC_Pointers 31.54 ms 31.74 ms +0.6%
Schema_Frame_OMC_Locations 15.28 ms 15.54 ms +1.7%
Schema_Frame_ISO_Language_Locations 59.75 ms 60.57 ms +1.4%
Schema_Frame_ISO_Language_Root 2.05 us 2.08 us +1.6%
Schema_Frame_KrakenD_References 29.99 ms 29.54 ms -1.5%
Schema_Frame_KrakenD_Reachable 199.27 ms 201.06 ms +0.9%
Schema_Frame_ISO_Language_Locations_To_JSON 132.84 ms 131.11 ms -1.3%
Schema_Frame_Many_Resources_References 234.17 ms 236.28 ms +0.9%
Schema_Frame_Deeply_Nested_References 15.32 ms 17.24 ms +12.5%
Schema_Format_ISO_Language 63.10 ms 62.98 ms -0.2%
Schema_Bundle_Meta_2020_12 1.16 ms 1.17 ms +0.2%
Schema_Bundle_Many_Remotes_With_Fragments 20.07 ms 19.93 ms -0.7%
OpenAPI_Frame_GSMTasks_3_0 283.76 ms 278.34 ms -1.9%
OpenAPI_Format_Synthetic_3_1 92.47 ms 91.77 ms -0.7%
JSONPath_Descendant_Filter_Nested 1.99 us 2.05 us +2.8%
URITemplateRouter_Create 29.85 us 30.52 us +2.2%
URITemplateRouter_Match 224.30 ns 220.49 ns -1.7%
URITemplateRouterView_Restore 16.81 us 16.34 us -2.8%
URITemplateRouterView_Match 182.65 ns 183.23 ns +0.3%
URITemplateRouterView_Arguments 400.92 ns 401.86 ns +0.2%
URITemplateRouter_Match_BasePath 250.78 ns 242.78 ns -3.2%
URITemplateRouterView_Match_BasePath 204.41 ns 205.56 ns +0.6%
JSONL_Parse_Large 22.58 ms 23.55 ms +4.3%
JSONL_Parse_Large_GZIP 21.32 ms 22.07 ms +3.5%
JSONLD_Catalog_Annotation_List_Populate 2.49 ms 2.52 ms +1.4%
JSONLD_Catalog_Materialize 5.90 ms 5.98 ms +1.3%
HTML_Build_Table_100000 74.32 ms 74.93 ms +0.8%
HTML_Render_Table_100000 11.48 ms 11.47 ms -0.1%
Markdown_To_HTML_Realistic_Document 4.18 ms 4.16 ms -0.6%
Markdown_To_HTML_Pathological 14.46 ms 14.60 ms +1.0%
Markdown_To_HTML_Short_Descriptions 525.60 ns 521.97 ns -0.7%
GZIP_Compress_ISO_Language_Set_3_Locations 28.56 ms 27.81 ms -2.6%
GZIP_Decompress_ISO_Language_Set_3_Locations 10.52 ms 10.38 ms -1.3%
GZIP_Decompress_Default_Level_ISO_Language_Set_3_Locations 11.84 ms 11.77 ms -0.6%
GZIP_Decompress_Stream_Default_Level_ISO_Language_Set_3_Locations 16.39 ms 16.42 ms +0.1%
GZIP_Compress_ISO_Language_Set_3_Schema 1.99 ms 1.92 ms -3.3%
GZIP_Decompress_ISO_Language_Set_3_Schema 626.57 us 653.89 us +4.4%
JOSE_VerifySignature_RS256 17.20 us 17.20 us +0.0%
JOSE_VerifySignature_ES512 924.15 us 927.43 us +0.4%
Crypto_CRC32_Large_JSONL 46.24 us 46.33 us +0.2%
Crypto_AES_GCM_Encrypt_128_1KB 1.48 us 1.44 us -2.7%
Crypto_AES_GCM_Decrypt_128_1KB 1.47 us 1.45 us -1.0%
Crypto_AES_GCM_Encrypt_256_1KB 1.53 us 1.49 us -2.4%
Metapack_Parse_OMC_JSON_V2 4.97 ns 5.23 ns +5.2%
Metapack_Read_OMC_JSON_V2 451.78 us 450.34 us -0.3%
Metapack_Write_OMC_JSON_V2 1.46 ms 1.46 ms +0.0%

@github-actions

github-actions Bot commented Oct 27, 2026 •

Copy link
Copy Markdown

Benchmark linux/gcc

Measured against main at e4517ad.

8 slower, 8 faster, 102 within 5%.

Benchmark main This branch Change
JSON_Parse_String_SSO_Plain 2.43 us 2.87 us +18.2%
Schema_Tracker_ISO_Language_To_JSON 12.36 ms 13.96 ms +12.9%
JSON_Array_Of_Integers_Unique_256 3.00 us 3.25 us +8.4%
Pointer_Position_Tracker_Get_Deeply_Nested 516.62 ns 555.09 ns +7.4%
JSON_String_Equal_10 5.52 ns 5.83 ns +5.5%
Metapack_Write_OMC_JSON_V2 685.20 us 722.72 us +5.5%
JSON_Stringify_ISO_Language 1.91 ms 2.01 ms +5.3%
JSON_Array_Of_Strings_Unique_Colliding_256 154.88 us 162.98 us +5.2%
JSON_PropertySet_Contains 41.23 ns 37.69 ns -8.6%
Schema_Frame_Deeply_Nested_References 9.76 ms 8.85 ms -9.4%
Regex_Nested_Backtrack 38.22 ns 34.58 ns -9.5%
JSON_Object_Defines_Miss_Too_Small 2.73 ns 2.46 ns -10.0%
JSON_Object_Defines_Miss_Same_Length 2.73 ns 2.45 ns -10.1%
JSON_String_Key_Hash_10 2.29 ns 2.05 ns -10.4%
Regex_Period_Md_Dollar 36.57 ns 26.53 ns -27.4%
Regex_Caret_Period_Range_Dollar 2.86 ns 1.77 ns -38.1%
All 118 benchmarks
Benchmark main This branch Change
Metapack_Parse_OMC_JSON_V2 1.91 ns 1.91 ns -0.1%
Metapack_Read_OMC_JSON_V2 333.66 us 342.20 us +2.6%
Metapack_Write_OMC_JSON_V2 685.20 us 722.72 us +5.5%
Crypto_CRC32_Large_JSONL 88.83 us 88.82 us -0.0%
Crypto_AES_GCM_Encrypt_128_1KB 631.02 ns 648.25 ns +2.7%
Crypto_AES_GCM_Decrypt_128_1KB 645.65 ns 652.83 ns +1.1%
Crypto_AES_GCM_Encrypt_256_1KB 654.44 ns 682.43 ns +4.3%
JOSE_VerifySignature_RS256 18.02 us 17.97 us -0.3%
JOSE_VerifySignature_ES512 499.64 us 499.82 us +0.0%
GZIP_Compress_ISO_Language_Set_3_Locations 24.66 ms 24.64 ms -0.1%
GZIP_Decompress_ISO_Language_Set_3_Locations 4.20 ms 4.19 ms -0.1%
GZIP_Decompress_Default_Level_ISO_Language_Set_3_Locations 5.51 ms 5.56 ms +0.9%
GZIP_Decompress_Stream_Default_Level_ISO_Language_Set_3_Locations 7.09 ms 6.81 ms -3.9%
GZIP_Compress_ISO_Language_Set_3_Schema 1.78 ms 1.78 ms +0.1%
GZIP_Decompress_ISO_Language_Set_3_Schema 299.63 us 300.41 us +0.3%
Markdown_To_HTML_Realistic_Document 3.16 ms 3.17 ms +0.2%
Markdown_To_HTML_Pathological 10.50 ms 10.59 ms +0.9%
Markdown_To_HTML_Short_Descriptions 404.57 ns 384.43 ns -5.0%
HTML_Build_Table_100000 33.04 ms 33.00 ms -0.1%
HTML_Render_Table_100000 1.86 ms 1.91 ms +2.9%
JSONLD_Catalog_Annotation_List_Populate 525.83 us 526.80 us +0.2%
JSONLD_Catalog_Materialize 2.79 ms 2.78 ms -0.5%
JSONL_Parse_Large 8.02 ms 8.07 ms +0.6%
JSONL_Parse_Large_GZIP 8.14 ms 8.19 ms +0.6%
URITemplateRouter_Create 15.16 us 15.68 us +3.4%
URITemplateRouter_Match 112.88 ns 113.26 ns +0.3%
URITemplateRouterView_Restore 6.95 us 6.96 us +0.2%
URITemplateRouterView_Match 102.64 ns 107.45 ns +4.7%
URITemplateRouterView_Arguments 714.04 ns 716.29 ns +0.3%
URITemplateRouter_Match_BasePath 130.00 ns 130.84 ns +0.6%
URITemplateRouterView_Match_BasePath 118.26 ns 121.42 ns +2.7%
JSONPath_Descendant_Filter_Nested 1.49 us 1.48 us -0.3%
OpenAPI_Frame_GSMTasks_3_0 118.67 ms 113.62 ms -4.3%
OpenAPI_Format_Synthetic_3_1 38.80 ms 38.53 ms -0.7%
Schema_Frame_WoT_References 1.61 ms 1.59 ms -1.2%
Schema_Frame_OMC_References 7.79 ms 7.68 ms -1.5%
Schema_Frame_OMC_Pointers 13.63 ms 13.87 ms +1.7%
Schema_Frame_OMC_Locations 6.51 ms 6.51 ms +0.0%
Schema_Frame_ISO_Language_Locations 35.38 ms 36.01 ms +1.8%
Schema_Frame_ISO_Language_Root 207.81 ns 208.77 ns +0.5%
Schema_Frame_KrakenD_References 13.33 ms 12.92 ms -3.1%
Schema_Frame_KrakenD_Reachable 104.57 ms 101.93 ms -2.5%
Schema_Frame_ISO_Language_Locations_To_JSON 28.59 ms 28.26 ms -1.2%
Schema_Frame_Many_Resources_References 94.02 ms 91.60 ms -2.6%
Schema_Frame_Deeply_Nested_References 9.76 ms 8.85 ms -9.4%
Schema_Format_ISO_Language 39.87 ms 39.10 ms -1.9%
Schema_Bundle_Meta_2020_12 425.68 us 425.78 us +0.0%
Schema_Bundle_Many_Remotes_With_Fragments 4.93 ms 4.97 ms +0.8%
Pointer_Object_Traverse 18.69 ns 18.64 ns -0.2%
Pointer_Object_Try_Traverse 18.41 ns 18.41 ns -0.0%
Pointer_Push_Back_Pointer_To_Weak_Pointer 94.17 ns 93.96 ns -0.2%
Pointer_Walker_Schema_ISO_Language 1.06 ms 1.10 ms +4.3%
Pointer_Untracked_Deeply_Nested 1.26 ms 1.27 ms +0.3%
Pointer_Tracked_Deeply_Nested 1.76 ms 1.76 ms -0.1%
Pointer_Position_Tracker_Get_Deeply_Nested 516.62 ns 555.09 ns +7.4%
Schema_Tracker_ISO_Language 4.22 ms 4.26 ms +0.9%
Schema_Tracker_ISO_Language_To_JSON 12.36 ms 13.96 ms +12.9%
JSON_Array_Of_Objects_Unique 326.87 ns 326.09 ns -0.2%
JSON_Array_Of_Integers_Unique_256 3.00 us 3.25 us +8.4%
JSON_Array_Of_Strings_Unique_Colliding_256 154.88 us 162.98 us +5.2%
JSON_Parse_1 4.21 us 4.29 us +1.7%
JSON_Parse_Real 4.04 us 4.08 us +1.0%
JSON_Parse_Real_Inexact 4.04 us 4.04 us -0.1%
JSON_Parse_Decimal 6.87 us 6.93 us +0.9%
JSON_Parse_Schema_ISO_Language 3.01 ms 3.11 ms +3.5%
JSON_Parse_KrakenD 1.22 ms 1.23 ms +1.2%
JSON_Stringify_ISO_Language 1.91 ms 2.01 ms +5.3%
JSON_Prettify_KrakenD 1.45 ms 1.45 ms -0.2%
JSON_Parse_Integer 3.78 us 3.82 us +1.2%
JSON_Parse_String_NonSSO_Plain 3.09 us 3.12 us +1.0%
JSON_Parse_String_SSO_Plain 2.43 us 2.87 us +18.2%
JSON_Parse_String_Escape_Heavy 14.45 us 14.47 us +0.1%
JSON_Parse_Object_Short_Keys 8.98 us 9.10 us +1.4%
JSON_Parse_Object_Scalar_Properties 4.55 us 4.59 us +1.0%
JSON_Parse_Object_Array_Properties 5.18 us 5.16 us -0.4%
JSON_Parse_Object_Object_Properties 5.27 us 5.27 us -0.0%
JSON_Parse_Nested_Containers 33.93 us 33.79 us -0.4%
JSON_Fast_Hash_Helm_Chart_Lock 56.34 ns 57.09 ns +1.3%
JSON_Equality_Helm_Chart_Lock 119.82 ns 122.41 ns +2.2%
JSON_String_Equal_10 5.52 ns 5.83 ns +5.5%
JSON_String_Equal_100 6.38 ns 6.65 ns +4.2%
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.90 ns 10.90 ns -0.0%
JSON_String_Fast_Hash_10 1.71 ns 1.71 ns +0.0%
JSON_String_Fast_Hash_100 1.71 ns 1.71 ns -0.1%
JSON_String_Key_Hash_10 2.29 ns 2.05 ns -10.4%
JSON_String_Key_Hash_100 12.27 ns 12.27 ns -0.0%
JSON_Object_Defines_Miss_Same_Length 2.73 ns 2.45 ns -10.1%
JSON_Object_Defines_Miss_Too_Small 2.73 ns 2.46 ns -10.0%
JSON_Object_Defines_Miss_Too_Large 2.46 ns 2.46 ns +0.0%
JSON_From_String_Copy 8.72 ns 8.62 ns -1.1%
JSON_From_String_Temporary 7.42 ns 7.43 ns +0.2%
JSON_Number_To_Double 20.46 ns 20.46 ns +0.0%
JSON_Object_At_Last_Key_8 3.00 ns 3.00 ns +0.1%
JSON_Object_At_Last_Key_32 10.09 ns 10.10 ns +0.0%
JSON_Object_At_Last_Key_128 36.29 ns 36.03 ns -0.7%
JSON_Object_At_Last_Key_512 197.29 ns 198.25 ns +0.5%
JSON_Divisible_By_Decimal 244.40 ns 245.89 ns +0.6%
JSON_PropertySet_Contains 41.23 ns 37.69 ns -8.6%
JSON_PropertySet_Filter_Object_Properties 32.20 ns 31.93 ns -0.9%
JSON_PropertySet_Insert 318.65 ns 325.26 ns +2.1%
JSON_Stringify_Schema_Web_Of_Things 44.02 us 44.50 us +1.1%
JSON_Prettify_Schema_Web_Of_Things 113.13 us 110.98 us -1.9%
Regex_Lower_S_Or_Upper_S_Asterisk 1.57 ns 1.57 ns -0.0%
Regex_Caret_Lower_S_Or_Upper_S_Asterisk_Dollar 1.50 ns 1.50 ns -0.0%
Regex_Period_Asterisk 1.57 ns 1.57 ns -0.0%
Regex_Group_Period_Asterisk_Group 1.50 ns 1.50 ns -0.0%
Regex_Period_Plus 1.57 ns 1.57 ns -0.0%
Regex_Period 1.50 ns 1.50 ns -0.0%
Regex_Caret_Period_Plus_Dollar 1.57 ns 1.57 ns -0.0%
Regex_Caret_Group_Period_Plus_Group_Dollar 1.50 ns 1.50 ns -0.1%
Regex_Caret_Period_Asterisk_Dollar 1.57 ns 1.57 ns -0.0%
Regex_Caret_Group_Period_Asterisk_Group_Dollar 1.50 ns 1.50 ns +0.0%
Regex_Caret_X_Hyphen 4.02 ns 3.95 ns -1.7%
Regex_Period_Md_Dollar 36.57 ns 26.53 ns -27.4%
Regex_Caret_Slash_Period_Asterisk 5.11 ns 5.11 ns -0.0%
Regex_Caret_Period_Range_Dollar 2.86 ns 1.77 ns -38.1%
Regex_Nested_Backtrack 38.22 ns 34.58 ns -9.5%

@github-actions

github-actions Bot commented Oct 27, 2026 •

Copy link
Copy Markdown

Benchmark macos/llvm

Measured against main at e4517ad.

40 slower, 51 faster, 27 within 5%.

Benchmark main This branch Change
Metapack_Write_OMC_JSON_V2 647.63 us 2.11 ms +225.4%
Metapack_Parse_OMC_JSON_V2 1.38 ns 2.37 ns +72.4%
Crypto_AES_GCM_Encrypt_256_1KB 4.10 us 6.32 us +54.1%
JSON_String_Key_Hash_100 2.36 ns 3.49 ns +48.2%
JOSE_VerifySignature_ES512 1.04 ms 1.49 ms +43.4%
Metapack_Read_OMC_JSON_V2 304.92 us 425.53 us +39.6%
JSON_Object_Defines_Miss_Same_Length 2.87 ns 3.89 ns +35.6%
Markdown_To_HTML_Pathological 9.91 ms 13.30 ms +34.2%
Crypto_AES_GCM_Encrypt_128_1KB 3.91 us 5.22 us +33.3%
JSON_PropertySet_Insert 307.77 ns 403.17 ns +31.0%
JSON_Stringify_Schema_Web_Of_Things 64.22 us 83.67 us +30.3%
HTML_Render_Table_100000 1.82 ms 2.37 ms +29.9%
GZIP_Decompress_Stream_Default_Level_ISO_Language_Set_3_Locations 5.95 ms 7.72 ms +29.8%
GZIP_Compress_ISO_Language_Set_3_Schema 2.05 ms 2.66 ms +29.5%
Markdown_To_HTML_Short_Descriptions 359.78 ns 464.34 ns +29.1%
JSONPath_Descendant_Filter_Nested 1.47 us 1.88 us +28.2%
Crypto_CRC32_Large_JSONL 21.56 us 27.45 us +27.3%
GZIP_Decompress_Default_Level_ISO_Language_Set_3_Locations 4.70 ms 5.98 ms +27.3%
Crypto_AES_GCM_Decrypt_128_1KB 4.18 us 5.26 us +26.0%
JSON_Object_At_Last_Key_512 200.17 ns 250.87 ns +25.3%
JSONLD_Catalog_Materialize 2.62 ms 3.24 ms +23.6%
JSON_Object_At_Last_Key_128 63.22 ns 77.96 ns +23.3%
HTML_Build_Table_100000 31.37 ms 38.03 ms +21.2%
Schema_Frame_OMC_Pointers 19.06 ms 23.10 ms +21.2%
JSONLD_Catalog_Annotation_List_Populate 525.26 us 626.78 us +19.3%
JSON_From_String_Temporary 7.04 ns 8.29 ns +17.8%
JOSE_VerifySignature_RS256 25.76 us 29.96 us +16.3%
GZIP_Decompress_ISO_Language_Set_3_Schema 363.59 us 420.73 us +15.7%
JSON_Object_Defines_Miss_Too_Small 3.17 ns 3.55 ns +12.0%
GZIP_Decompress_ISO_Language_Set_3_Locations 3.46 ms 3.88 ms +11.9%
JSONL_Parse_Large 6.99 ms 7.81 ms +11.8%
JSON_Object_At_Last_Key_32 14.73 ns 16.44 ns +11.6%
JSON_String_Equal_Small_By_Runtime_Perfect_Hash_10 3.51 ns 3.85 ns +9.8%
Schema_Tracker_ISO_Language_To_JSON 12.51 ms 13.71 ms +9.6%
GZIP_Compress_ISO_Language_Set_3_Locations 33.37 ms 36.55 ms +9.5%
Schema_Tracker_ISO_Language 3.33 ms 3.58 ms +7.5%
Schema_Frame_OMC_References 10.26 ms 11.01 ms +7.3%
Regex_Lower_S_Or_Upper_S_Asterisk 1.92 ns 2.05 ns +6.9%
Markdown_To_HTML_Realistic_Document 3.32 ms 3.54 ms +6.6%
Pointer_Object_Try_Traverse 39.09 ns 41.65 ns +6.6%
JSON_Parse_Integer 2.74 us 2.60 us -5.2%
Schema_Frame_ISO_Language_Root 146.13 ns 138.34 ns -5.3%
URITemplateRouterView_Match_BasePath 160.58 ns 151.61 ns -5.6%
Pointer_Walker_Schema_ISO_Language 1.60 ms 1.51 ms -5.6%
Regex_Caret_Lower_S_Or_Upper_S_Asterisk_Dollar 1.87 ns 1.76 ns -5.9%
JSON_Prettify_Schema_Web_Of_Things 196.38 us 184.49 us -6.1%
Schema_Frame_ISO_Language_Locations 28.34 ms 26.54 ms -6.3%
JSON_String_Fast_Hash_10 2.45 ns 2.29 ns -6.4%
JSON_Parse_String_NonSSO_Plain 3.43 us 3.16 us -7.9%
JSON_Fast_Hash_Helm_Chart_Lock 57.90 ns 53.28 ns -8.0%
Regex_Caret_Period_Plus_Dollar 1.88 ns 1.73 ns -8.2%
OpenAPI_Frame_GSMTasks_3_0 146.00 ms 133.88 ms -8.3%
JSON_String_Equal_10 7.57 ns 6.93 ns -8.4%
URITemplateRouterView_Restore 11.42 us 10.39 us -9.0%
Schema_Frame_ISO_Language_Locations_To_JSON 24.89 ms 22.55 ms -9.4%
Schema_Frame_Deeply_Nested_References 13.85 ms 12.52 ms -9.6%
JSON_Parse_Nested_Containers 27.11 us 24.47 us -9.8%
URITemplateRouterView_Match 143.25 ns 127.97 ns -10.7%
JSON_Parse_Object_Scalar_Properties 3.05 us 2.72 us -10.7%
Schema_Bundle_Many_Remotes_With_Fragments 6.10 ms 5.45 ms -10.8%
JSON_String_Fast_Hash_100 1.98 ns 1.77 ns -10.9%
JSON_Prettify_KrakenD 1.93 ms 1.72 ms -10.9%
JSON_String_Equal_100 7.66 ns 6.78 ns -11.5%
JSONL_Parse_Large_GZIP 7.97 ms 7.04 ms -11.7%
JSON_Array_Of_Strings_Unique_Colliding_256 175.18 us 154.02 us -12.1%
Schema_Format_ISO_Language 27.66 ms 24.31 ms -12.1%
Regex_Caret_Group_Period_Asterisk_Group_Dollar 1.98 ns 1.74 ns -12.1%
Regex_Period_Asterisk 1.99 ns 1.74 ns -12.4%
JSON_Parse_String_SSO_Plain 2.09 us 1.82 us -13.0%
Regex_Caret_Period_Range_Dollar 2.48 ns 2.15 ns -13.1%
URITemplateRouter_Match 199.36 ns 173.18 ns -13.1%
Schema_Frame_KrakenD_References 16.71 ms 14.50 ms -13.2%
Regex_Caret_Period_Asterisk_Dollar 1.99 ns 1.72 ns -13.6%
JSON_Parse_Decimal 5.97 us 5.10 us -14.6%
JSON_Equality_Helm_Chart_Lock 196.97 ns 168.15 ns -14.6%
Regex_Nested_Backtrack 33.92 ns 28.94 ns -14.7%
JSON_Parse_Schema_ISO_Language 2.64 ms 2.23 ms -15.7%
JSON_Parse_KrakenD 950.91 us 801.25 us -15.7%
JSON_Parse_1 3.69 us 3.10 us -16.0%
Pointer_Object_Traverse 27.26 ns 22.46 ns -17.6%
JSON_Parse_Real 4.02 us 3.26 us -18.8%
Regex_Group_Period_Asterisk_Group 2.15 ns 1.74 ns -19.2%
Regex_Caret_Slash_Period_Asterisk 5.84 ns 4.69 ns -19.6%
Regex_Caret_Group_Period_Plus_Group_Dollar 2.16 ns 1.73 ns -19.8%
JSON_Parse_Object_Array_Properties 4.16 us 3.34 us -19.9%
Schema_Bundle_Meta_2020_12 569.61 us 455.89 us -20.0%
JSON_Stringify_ISO_Language 2.93 ms 2.34 ms -20.1%
Schema_Frame_KrakenD_Reachable 217.65 ms 165.17 ms -24.1%
Schema_Frame_Many_Resources_References 111.09 ms 80.49 ms -27.5%
JSON_Parse_Object_Object_Properties 5.02 us 3.44 us -31.5%
Regex_Period_Plus 2.66 ns 1.73 ns -34.9%
All 118 benchmarks
Benchmark main This branch Change
Regex_Lower_S_Or_Upper_S_Asterisk 1.92 ns 2.05 ns +6.9%
Regex_Caret_Lower_S_Or_Upper_S_Asterisk_Dollar 1.87 ns 1.76 ns -5.9%
Regex_Period_Asterisk 1.99 ns 1.74 ns -12.4%
Regex_Group_Period_Asterisk_Group 2.15 ns 1.74 ns -19.2%
Regex_Period_Plus 2.66 ns 1.73 ns -34.9%
Regex_Period 1.81 ns 1.74 ns -3.8%
Regex_Caret_Period_Plus_Dollar 1.88 ns 1.73 ns -8.2%
Regex_Caret_Group_Period_Plus_Group_Dollar 2.16 ns 1.73 ns -19.8%
Regex_Caret_Period_Asterisk_Dollar 1.99 ns 1.72 ns -13.6%
Regex_Caret_Group_Period_Asterisk_Group_Dollar 1.98 ns 1.74 ns -12.1%
Regex_Caret_X_Hyphen 6.43 ns 6.27 ns -2.5%
Regex_Period_Md_Dollar 18.09 ns 18.86 ns +4.2%
Regex_Caret_Slash_Period_Asterisk 5.84 ns 4.69 ns -19.6%
Regex_Caret_Period_Range_Dollar 2.48 ns 2.15 ns -13.1%
Regex_Nested_Backtrack 33.92 ns 28.94 ns -14.7%
JSON_Array_Of_Objects_Unique 383.16 ns 385.49 ns +0.6%
JSON_Array_Of_Integers_Unique_256 4.96 us 4.75 us -4.3%
JSON_Array_Of_Strings_Unique_Colliding_256 175.18 us 154.02 us -12.1%
JSON_Parse_1 3.69 us 3.10 us -16.0%
JSON_Parse_Real 4.02 us 3.26 us -18.8%
JSON_Parse_Real_Inexact 3.29 us 3.15 us -4.3%
JSON_Parse_Decimal 5.97 us 5.10 us -14.6%
JSON_Parse_Schema_ISO_Language 2.64 ms 2.23 ms -15.7%
JSON_Parse_KrakenD 950.91 us 801.25 us -15.7%
JSON_Stringify_ISO_Language 2.93 ms 2.34 ms -20.1%
JSON_Prettify_KrakenD 1.93 ms 1.72 ms -10.9%
JSON_Parse_Integer 2.74 us 2.60 us -5.2%
JSON_Parse_String_NonSSO_Plain 3.43 us 3.16 us -7.9%
JSON_Parse_String_SSO_Plain 2.09 us 1.82 us -13.0%
JSON_Parse_String_Escape_Heavy 17.69 us 18.51 us +4.7%
JSON_Parse_Object_Short_Keys 5.26 us 5.32 us +1.2%
JSON_Parse_Object_Scalar_Properties 3.05 us 2.72 us -10.7%
JSON_Parse_Object_Array_Properties 4.16 us 3.34 us -19.9%
JSON_Parse_Object_Object_Properties 5.02 us 3.44 us -31.5%
JSON_Parse_Nested_Containers 27.11 us 24.47 us -9.8%
JSON_Fast_Hash_Helm_Chart_Lock 57.90 ns 53.28 ns -8.0%
JSON_Equality_Helm_Chart_Lock 196.97 ns 168.15 ns -14.6%
JSON_String_Equal_10 7.57 ns 6.93 ns -8.4%
JSON_String_Equal_100 7.66 ns 6.78 ns -11.5%
JSON_String_Equal_Small_By_Perfect_Hash_10 0.35 ns 0.37 ns +5.0%
JSON_String_Equal_Small_By_Runtime_Perfect_Hash_10 3.51 ns 3.85 ns +9.8%
JSON_String_Fast_Hash_10 2.45 ns 2.29 ns -6.4%
JSON_String_Fast_Hash_100 1.98 ns 1.77 ns -10.9%
JSON_String_Key_Hash_10 1.89 ns 1.81 ns -4.0%
JSON_String_Key_Hash_100 2.36 ns 3.49 ns +48.2%
JSON_Object_Defines_Miss_Same_Length 2.87 ns 3.89 ns +35.6%
JSON_Object_Defines_Miss_Too_Small 3.17 ns 3.55 ns +12.0%
JSON_Object_Defines_Miss_Too_Large 3.36 ns 3.36 ns -0.1%
JSON_From_String_Copy 12.16 ns 12.58 ns +3.4%
JSON_From_String_Temporary 7.04 ns 8.29 ns +17.8%
JSON_Number_To_Double 11.51 ns 11.89 ns +3.4%
JSON_Object_At_Last_Key_8 4.82 ns 4.84 ns +0.4%
JSON_Object_At_Last_Key_32 14.73 ns 16.44 ns +11.6%
JSON_Object_At_Last_Key_128 63.22 ns 77.96 ns +23.3%
JSON_Object_At_Last_Key_512 200.17 ns 250.87 ns +25.3%
JSON_Divisible_By_Decimal 280.98 ns 272.83 ns -2.9%
JSON_PropertySet_Contains 53.42 ns 52.86 ns -1.0%
JSON_PropertySet_Filter_Object_Properties 41.31 ns 39.26 ns -5.0%
JSON_PropertySet_Insert 307.77 ns 403.17 ns +31.0%
JSON_Stringify_Schema_Web_Of_Things 64.22 us 83.67 us +30.3%
JSON_Prettify_Schema_Web_Of_Things 196.38 us 184.49 us -6.1%
Pointer_Object_Traverse 27.26 ns 22.46 ns -17.6%
Pointer_Object_Try_Traverse 39.09 ns 41.65 ns +6.6%
Pointer_Push_Back_Pointer_To_Weak_Pointer 146.14 ns 152.72 ns +4.5%
Pointer_Walker_Schema_ISO_Language 1.60 ms 1.51 ms -5.6%
Pointer_Untracked_Deeply_Nested 973.95 us 1.01 ms +4.0%
Pointer_Tracked_Deeply_Nested 1.34 ms 1.36 ms +0.9%
Pointer_Position_Tracker_Get_Deeply_Nested 371.09 ns 374.59 ns +0.9%
Schema_Tracker_ISO_Language 3.33 ms 3.58 ms +7.5%
Schema_Tracker_ISO_Language_To_JSON 12.51 ms 13.71 ms +9.6%
Schema_Frame_WoT_References 2.07 ms 2.14 ms +3.5%
Schema_Frame_OMC_References 10.26 ms 11.01 ms +7.3%
Schema_Frame_OMC_Pointers 19.06 ms 23.10 ms +21.2%
Schema_Frame_OMC_Locations 9.74 ms 10.12 ms +3.9%
Schema_Frame_ISO_Language_Locations 28.34 ms 26.54 ms -6.3%
Schema_Frame_ISO_Language_Root 146.13 ns 138.34 ns -5.3%
Schema_Frame_KrakenD_References 16.71 ms 14.50 ms -13.2%
Schema_Frame_KrakenD_Reachable 217.65 ms 165.17 ms -24.1%
Schema_Frame_ISO_Language_Locations_To_JSON 24.89 ms 22.55 ms -9.4%
Schema_Frame_Many_Resources_References 111.09 ms 80.49 ms -27.5%
Schema_Frame_Deeply_Nested_References 13.85 ms 12.52 ms -9.6%
Schema_Format_ISO_Language 27.66 ms 24.31 ms -12.1%
Schema_Bundle_Meta_2020_12 569.61 us 455.89 us -20.0%
Schema_Bundle_Many_Remotes_With_Fragments 6.10 ms 5.45 ms -10.8%
OpenAPI_Frame_GSMTasks_3_0 146.00 ms 133.88 ms -8.3%
OpenAPI_Format_Synthetic_3_1 42.97 ms 40.86 ms -4.9%
JSONPath_Descendant_Filter_Nested 1.47 us 1.88 us +28.2%
URITemplateRouter_Create 20.78 us 19.93 us -4.1%
URITemplateRouter_Match 199.36 ns 173.18 ns -13.1%
URITemplateRouterView_Restore 11.42 us 10.39 us -9.0%
URITemplateRouterView_Match 143.25 ns 127.97 ns -10.7%
URITemplateRouterView_Arguments 609.30 ns 613.77 ns +0.7%
URITemplateRouter_Match_BasePath 214.98 ns 216.62 ns +0.8%
URITemplateRouterView_Match_BasePath 160.58 ns 151.61 ns -5.6%
JSONL_Parse_Large 6.99 ms 7.81 ms +11.8%
JSONL_Parse_Large_GZIP 7.97 ms 7.04 ms -11.7%
JSONLD_Catalog_Annotation_List_Populate 525.26 us 626.78 us +19.3%
JSONLD_Catalog_Materialize 2.62 ms 3.24 ms +23.6%
HTML_Build_Table_100000 31.37 ms 38.03 ms +21.2%
HTML_Render_Table_100000 1.82 ms 2.37 ms +29.9%
Markdown_To_HTML_Realistic_Document 3.32 ms 3.54 ms +6.6%
Markdown_To_HTML_Pathological 9.91 ms 13.30 ms +34.2%
Markdown_To_HTML_Short_Descriptions 359.78 ns 464.34 ns +29.1%
GZIP_Compress_ISO_Language_Set_3_Locations 33.37 ms 36.55 ms +9.5%
GZIP_Decompress_ISO_Language_Set_3_Locations 3.46 ms 3.88 ms +11.9%
GZIP_Decompress_Default_Level_ISO_Language_Set_3_Locations 4.70 ms 5.98 ms +27.3%
GZIP_Decompress_Stream_Default_Level_ISO_Language_Set_3_Locations 5.95 ms 7.72 ms +29.8%
GZIP_Compress_ISO_Language_Set_3_Schema 2.05 ms 2.66 ms +29.5%
GZIP_Decompress_ISO_Language_Set_3_Schema 363.59 us 420.73 us +15.7%
JOSE_VerifySignature_RS256 25.76 us 29.96 us +16.3%
JOSE_VerifySignature_ES512 1.04 ms 1.49 ms +43.4%
Crypto_CRC32_Large_JSONL 21.56 us 27.45 us +27.3%
Crypto_AES_GCM_Encrypt_128_1KB 3.91 us 5.22 us +33.3%
Crypto_AES_GCM_Decrypt_128_1KB 4.18 us 5.26 us +26.0%
Crypto_AES_GCM_Encrypt_256_1KB 4.10 us 6.32 us +54.1%
Metapack_Parse_OMC_JSON_V2 1.38 ns 2.37 ns +72.4%
Metapack_Read_OMC_JSON_V2 304.92 us 425.53 us +39.6%
Metapack_Write_OMC_JSON_V2 647.63 us 2.11 ms +225.4%

Signed-off-by: Juan Cruz Viotti <jv@jviotti.com>
@jviotti
jviotti merged commit ed64c6c into main Oct 27, 2026
15 checks passed
@jviotti
jviotti deleted the bundle-fix branch October 27, 2026 17:03
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