Skip to content

Separate JSON Pointer fragment tokens before decoding them - #3027

Merged
jviotti merged 2 commits into
mainfrom
fixes-pointer
Oct 24, 2026
Merged

jviotti merged 2 commits into
mainfrom
fixes-pointer

Conversation

@jviotti

@jviotti jviotti commented Oct 24, 2026

Copy link
Copy Markdown
Member

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

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.

No issues found across 5 files

View guided diff | Re-trigger cubic

@github-actions

github-actions Bot commented Oct 24, 2026 •

Copy link
Copy Markdown

Benchmark linux/llvm

Measured against main at 9889529.

8 slower, 4 faster, 103 within 5%.

Benchmark main This branch Change
JSON_Object_Defines_Miss_Same_Length 1.46 ns 2.16 ns +48.2%
Pointer_Push_Back_Pointer_To_Weak_Pointer 63.02 ns 75.00 ns +19.0%
JSON_Array_Of_Strings_Unique_Colliding_256 82.40 us 97.29 us +18.1%
JSON_String_Key_Hash_100 3.60 ns 4.00 ns +10.9%
JSON_Object_At_Last_Key_32 14.10 ns 15.04 ns +6.7%
JSON_From_String_Temporary 4.95 ns 5.26 ns +6.3%
JSON_Object_Defines_Miss_Too_Large 1.12 ns 1.18 ns +5.8%
URITemplateRouter_Match 73.97 ns 77.72 ns +5.1%
JSON_Object_At_Last_Key_8 2.40 ns 2.26 ns -5.8%
URITemplateRouterView_Arguments 289.91 ns 273.03 ns -5.8%
Schema_Format_ISO_Language 23.66 ms 22.09 ms -6.6%
Pointer_Untracked_Deeply_Nested 685.96 us 637.34 us -7.1%
All 115 benchmarks
Benchmark main This branch Change
Regex_Lower_S_Or_Upper_S_Asterisk 1.36 ns 1.36 ns -0.2%
Regex_Caret_Lower_S_Or_Upper_S_Asterisk_Dollar 1.35 ns 1.36 ns +0.2%
Regex_Period_Asterisk 1.13 ns 1.13 ns +0.2%
Regex_Group_Period_Asterisk_Group 1.13 ns 1.13 ns +0.1%
Regex_Period_Plus 1.36 ns 1.35 ns -0.4%
Regex_Period 1.35 ns 1.36 ns +0.1%
Regex_Caret_Period_Plus_Dollar 1.13 ns 1.13 ns -0.3%
Regex_Caret_Group_Period_Plus_Group_Dollar 1.13 ns 1.12 ns -0.6%
Regex_Caret_Period_Asterisk_Dollar 1.34 ns 1.35 ns +0.1%
Regex_Caret_Group_Period_Asterisk_Group_Dollar 1.35 ns 1.35 ns +0.2%
Regex_Caret_X_Hyphen 2.25 ns 2.26 ns +0.3%
Regex_Period_Md_Dollar 13.26 ns 13.24 ns -0.2%
Regex_Caret_Slash_Period_Asterisk 2.49 ns 2.49 ns -0.0%
Regex_Caret_Period_Range_Dollar 1.57 ns 1.58 ns +0.3%
Regex_Nested_Backtrack 19.43 ns 19.47 ns +0.2%
JSON_Array_Of_Objects_Unique 216.59 ns 211.70 ns -2.3%
JSON_Array_Of_Integers_Unique_256 2.13 us 2.09 us -1.8%
JSON_Array_Of_Strings_Unique_Colliding_256 82.40 us 97.29 us +18.1%
JSON_Parse_1 2.22 us 2.25 us +1.4%
JSON_Parse_Real 2.27 us 2.20 us -2.9%
JSON_Parse_Real_Inexact 2.19 us 2.08 us -5.0%
JSON_Parse_Decimal 3.86 us 3.87 us +0.3%
JSON_Parse_Schema_ISO_Language 1.76 ms 1.75 ms -0.6%
JSON_Parse_KrakenD 618.76 us 617.53 us -0.2%
JSON_Stringify_ISO_Language 1.24 ms 1.22 ms -1.5%
JSON_Prettify_KrakenD 1.04 ms 1.04 ms +0.2%
JSON_Parse_Integer 1.92 us 1.93 us +0.5%
JSON_Parse_String_NonSSO_Plain 1.77 us 1.73 us -2.2%
JSON_Parse_String_SSO_Plain 1.58 us 1.58 us +0.0%
JSON_Parse_String_Escape_Heavy 6.94 us 6.86 us -1.1%
JSON_Parse_Object_Short_Keys 3.90 us 3.89 us -0.3%
JSON_Parse_Object_Scalar_Properties 1.99 us 2.01 us +1.2%
JSON_Parse_Object_Array_Properties 2.65 us 2.66 us +0.7%
JSON_Parse_Object_Object_Properties 2.65 us 2.65 us -0.2%
JSON_Parse_Nested_Containers 17.13 us 17.15 us +0.1%
JSON_Fast_Hash_Helm_Chart_Lock 32.47 ns 32.94 ns +1.4%
JSON_Equality_Helm_Chart_Lock 80.82 ns 78.81 ns -2.5%
JSON_String_Equal_10 2.49 ns 2.49 ns -0.3%
JSON_String_Equal_100 2.71 ns 2.71 ns +0.1%
JSON_String_Equal_Small_By_Perfect_Hash_10 0.44 ns 0.44 ns -0.0%
JSON_String_Equal_Small_By_Runtime_Perfect_Hash_10 6.80 ns 6.81 ns +0.0%
JSON_String_Fast_Hash_10 1.13 ns 1.12 ns -0.8%
JSON_String_Fast_Hash_100 1.13 ns 1.13 ns -0.5%
JSON_String_Key_Hash_10 1.14 ns 1.13 ns -0.8%
JSON_String_Key_Hash_100 3.60 ns 4.00 ns +10.9%
JSON_Object_Defines_Miss_Same_Length 1.46 ns 2.16 ns +48.2%
JSON_Object_Defines_Miss_Too_Small 1.73 ns 1.74 ns +0.5%
JSON_Object_Defines_Miss_Too_Large 1.12 ns 1.18 ns +5.8%
JSON_From_String_Copy 5.51 ns 5.60 ns +1.5%
JSON_From_String_Temporary 4.95 ns 5.26 ns +6.3%
JSON_Number_To_Double 8.00 ns 8.17 ns +2.1%
JSON_Object_At_Last_Key_8 2.40 ns 2.26 ns -5.8%
JSON_Object_At_Last_Key_32 14.10 ns 15.04 ns +6.7%
JSON_Object_At_Last_Key_128 37.11 ns 37.04 ns -0.2%
JSON_Object_At_Last_Key_512 137.94 ns 143.32 ns +3.9%
JSON_Divisible_By_Decimal 160.69 ns 156.45 ns -2.6%
JSON_PropertySet_Contains 24.09 ns 23.95 ns -0.6%
JSON_PropertySet_Filter_Object_Properties 26.79 ns 27.02 ns +0.8%
JSON_PropertySet_Insert 262.10 ns 268.17 ns +2.3%
JSON_Stringify_Schema_Web_Of_Things 31.11 us 31.31 us +0.6%
JSON_Prettify_Schema_Web_Of_Things 87.01 us 88.76 us +2.0%
Pointer_Object_Traverse 13.94 ns 14.00 ns +0.5%
Pointer_Object_Try_Traverse 18.21 ns 18.25 ns +0.2%
Pointer_Push_Back_Pointer_To_Weak_Pointer 63.02 ns 75.00 ns +19.0%
Pointer_Walker_Schema_ISO_Language 732.83 us 742.90 us +1.4%
Pointer_Untracked_Deeply_Nested 685.96 us 637.34 us -7.1%
Pointer_Tracked_Deeply_Nested 865.61 us 888.25 us +2.6%
Pointer_Position_Tracker_Get_Deeply_Nested 384.31 ns 391.93 ns +2.0%
Schema_Tracker_ISO_Language 2.20 ms 2.23 ms +1.3%
Schema_Tracker_ISO_Language_To_JSON 8.34 ms 8.45 ms +1.3%
Schema_Frame_WoT_References 1.08 ms 1.08 ms -0.4%
Schema_Frame_OMC_References 4.85 ms 4.78 ms -1.4%
Schema_Frame_OMC_Pointers 9.00 ms 8.87 ms -1.5%
Schema_Frame_OMC_Locations 4.09 ms 4.09 ms +0.1%
Schema_Frame_ISO_Language_Locations 21.18 ms 20.42 ms -3.6%
Schema_Frame_ISO_Language_Root 154.83 ns 148.24 ns -4.3%
Schema_Frame_KrakenD_References 7.71 ms 7.65 ms -0.8%
Schema_Frame_KrakenD_Reachable 71.85 ms 74.70 ms +4.0%
Schema_Frame_ISO_Language_Locations_To_JSON 18.94 ms 18.04 ms -4.7%
Schema_Frame_Many_Resources_References 55.80 ms 55.67 ms -0.2%
Schema_Frame_Deeply_Nested_References 5.36 ms 5.43 ms +1.3%
Schema_Format_ISO_Language 23.66 ms 22.09 ms -6.6%
Schema_Bundle_Meta_2020_12 279.03 us 277.00 us -0.7%
Schema_Bundle_Many_Remotes_With_Fragments 3.28 ms 3.29 ms +0.2%
OpenAPI_Frame_GSMTasks_3_0 83.28 ms 84.64 ms +1.6%
OpenAPI_Format_Synthetic_3_1 24.67 ms 25.23 ms +2.2%
JSONPath_Descendant_Filter_Nested 898.25 ns 905.40 ns +0.8%
URITemplateRouter_Create 10.56 us 10.81 us +2.4%
URITemplateRouter_Match 73.97 ns 77.72 ns +5.1%
URITemplateRouterView_Restore 6.73 us 6.56 us -2.5%
URITemplateRouterView_Match 66.89 ns 65.26 ns -2.4%
URITemplateRouterView_Arguments 289.91 ns 273.03 ns -5.8%
URITemplateRouter_Match_BasePath 83.97 ns 84.07 ns +0.1%
URITemplateRouterView_Match_BasePath 75.67 ns 73.96 ns -2.3%
JSONL_Parse_Large 4.77 ms 4.64 ms -2.9%
JSONL_Parse_Large_GZIP 4.93 ms 4.78 ms -3.1%
JSONLD_Catalog_Annotation_List_Populate 314.18 us 320.78 us +2.1%
JSONLD_Catalog_Materialize 1.73 ms 1.75 ms +1.1%
HTML_Build_Table_100000 17.79 ms 17.52 ms -1.6%
HTML_Render_Table_100000 1.51 ms 1.48 ms -2.4%
Markdown_To_HTML_Realistic_Document 2.03 ms 1.99 ms -1.7%
Markdown_To_HTML_Pathological 7.00 ms 6.98 ms -0.2%
Markdown_To_HTML_Short_Descriptions 277.15 ns 271.89 ns -1.9%
GZIP_Compress_ISO_Language_Set_3_Locations 21.86 ms 21.70 ms -0.7%
GZIP_Decompress_ISO_Language_Set_3_Locations 3.33 ms 3.31 ms -0.6%
GZIP_Decompress_Default_Level_ISO_Language_Set_3_Locations 4.31 ms 4.29 ms -0.6%
GZIP_Decompress_Stream_Default_Level_ISO_Language_Set_3_Locations 4.80 ms 4.76 ms -0.7%
GZIP_Compress_ISO_Language_Set_3_Schema 1.45 ms 1.46 ms +0.6%
GZIP_Decompress_ISO_Language_Set_3_Schema 280.61 us 275.63 us -1.8%
JOSE_VerifySignature_RS256 30.39 us 30.54 us +0.5%
JOSE_VerifySignature_ES512 1.07 ms 1.07 ms +0.3%
Crypto_CRC32_Large_JSONL 72.03 us 72.08 us +0.1%
Crypto_AES_GCM_Encrypt_128_1KB 19.82 us 19.81 us -0.0%
Crypto_AES_GCM_Decrypt_128_1KB 19.81 us 19.80 us -0.0%
Crypto_AES_GCM_Encrypt_256_1KB 24.53 us 24.55 us +0.1%

@augmentcode

augmentcode Bot commented Oct 24, 2026

Copy link
Copy Markdown
🤖 Augment PR Summary

Changes JSON Pointer fragment parsing to split tokens before percent-decoding.

  • Uses literal / characters as token boundaries.
  • Percent-decodes each token using URI::unescape.
  • Rewrites decoded token slashes as ~1 before pointer parsing.
  • Preserves empty fragments as root pointers.
  • Rejects nonempty fragments without a literal leading slash.
  • Updates the public API documentation for these semantics.
  • Adds canonicalized fallback lookups to SchemaFrame::location.
  • Shares fallback spelling logic with SchemaFrame::traverse.
  • Adds encoded-slash, tilde-escape, and pointer round-trip tests.
  • Adds static/dynamic lookup and URI-normalization coverage.
  • Aims to distinguish encoded token data from literal separators.

🤖 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/jsonpointer/jsonpointer.cc Outdated
Comment on lines +31 to +32
if (character == '/') {
output.append("~1");

@augmentcode augmentcode Bot Oct 24, 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 we recheck the interpretation at src/core/jsonpointer/jsonpointer.cc:31–32: RFC 6901 §6 applies percent-encoding to the complete pointer string, whereas §3 uses ~1 for a slash inside a token? Consequently, #/$defs/a%2Fb represents /$defs/a/b, but this now produces /$defs/a~1b, causing $ref to select the wrong schema when both targets exist; the leading-slash check similarly rejects #%2Ffoo.

Other locations where this applies: src/core/jsonpointer/jsonpointer.cc:370.

Severity: medium

Other Locations
  • src/core/jsonpointer/jsonpointer.cc:370

Fix This in Augment

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

@github-actions

github-actions Bot commented Oct 24, 2026 •

Copy link
Copy Markdown

Benchmark windows/msvc

Measured against main at 9889529.

6 slower, 3 faster, 106 within 5%.

Benchmark main This branch Change
Pointer_Walker_Schema_ISO_Language 8.77 ms 10.45 ms +19.3%
Pointer_Push_Back_Pointer_To_Weak_Pointer 161.49 ns 186.53 ns +15.5%
Schema_Frame_Deeply_Nested_References 23.49 ms 25.15 ms +7.1%
Schema_Frame_ISO_Language_Locations_To_JSON 160.32 ms 169.84 ms +5.9%
JSON_Parse_KrakenD 2.25 ms 2.39 ms +5.9%
Schema_Format_ISO_Language 86.11 ms 91.16 ms +5.9%
JSON_String_Equal_Small_By_Runtime_Perfect_Hash_10 15.00 ns 14.19 ns -5.4%
Regex_Caret_Period_Range_Dollar 5.65 ns 5.33 ns -5.7%
Regex_Caret_Slash_Period_Asterisk 8.73 ns 7.51 ns -13.9%
All 115 benchmarks
Benchmark main This branch Change
Regex_Lower_S_Or_Upper_S_Asterisk 4.70 ns 4.70 ns -0.1%
Regex_Caret_Lower_S_Or_Upper_S_Asterisk_Dollar 4.70 ns 4.69 ns -0.1%
Regex_Period_Asterisk 4.70 ns 4.70 ns -0.1%
Regex_Group_Period_Asterisk_Group 4.70 ns 4.70 ns -0.0%
Regex_Period_Plus 4.62 ns 4.65 ns +0.7%
Regex_Period 4.45 ns 4.47 ns +0.4%
Regex_Caret_Period_Plus_Dollar 4.67 ns 4.64 ns -0.8%
Regex_Caret_Group_Period_Plus_Group_Dollar 4.46 ns 4.47 ns +0.1%
Regex_Caret_Period_Asterisk_Dollar 4.70 ns 4.70 ns +0.1%
Regex_Caret_Group_Period_Asterisk_Group_Dollar 4.71 ns 4.70 ns -0.2%
Regex_Caret_X_Hyphen 7.84 ns 7.84 ns -0.1%
Regex_Period_Md_Dollar 46.57 ns 46.43 ns -0.3%
Regex_Caret_Slash_Period_Asterisk 8.73 ns 7.51 ns -13.9%
Regex_Caret_Period_Range_Dollar 5.65 ns 5.33 ns -5.7%
Regex_Nested_Backtrack 58.74 ns 57.74 ns -1.7%
JSON_Array_Of_Objects_Unique 541.94 ns 542.52 ns +0.1%
JSON_Array_Of_Integers_Unique_256 4.76 us 4.76 us +0.0%
JSON_Array_Of_Strings_Unique_Colliding_256 289.85 us 289.28 us -0.2%
JSON_Parse_1 8.69 us 8.69 us -0.0%
JSON_Parse_Real 7.66 us 7.61 us -0.7%
JSON_Parse_Real_Inexact 7.22 us 7.21 us -0.1%
JSON_Parse_Decimal 12.19 us 12.45 us +2.2%
JSON_Parse_Schema_ISO_Language 7.86 ms 7.79 ms -0.9%
JSON_Parse_KrakenD 2.25 ms 2.39 ms +5.9%
JSON_Stringify_ISO_Language 10.12 ms 10.07 ms -0.5%
JSON_Prettify_KrakenD 7.55 ms 7.73 ms +2.4%
JSON_Parse_Integer 6.72 us 6.70 us -0.3%
JSON_Parse_String_NonSSO_Plain 8.37 us 8.35 us -0.3%
JSON_Parse_String_SSO_Plain 4.21 us 4.18 us -0.9%
JSON_Parse_String_Escape_Heavy 21.83 us 21.80 us -0.1%
JSON_Parse_Object_Short_Keys 13.81 us 13.69 us -0.8%
JSON_Parse_Object_Scalar_Properties 7.09 us 7.01 us -1.1%
JSON_Parse_Object_Array_Properties 11.52 us 11.35 us -1.4%
JSON_Parse_Object_Object_Properties 11.47 us 11.29 us -1.6%
JSON_Parse_Nested_Containers 80.32 us 78.84 us -1.8%
JSON_Fast_Hash_Helm_Chart_Lock 106.70 ns 103.50 ns -3.0%
JSON_Equality_Helm_Chart_Lock 208.39 ns 208.31 ns -0.0%
JSON_String_Equal_10 10.23 ns 10.04 ns -1.9%
JSON_String_Equal_100 11.38 ns 11.31 ns -0.6%
JSON_String_Equal_Small_By_Perfect_Hash_10 2.19 ns 2.20 ns +0.1%
JSON_String_Equal_Small_By_Runtime_Perfect_Hash_10 15.00 ns 14.19 ns -5.4%
JSON_String_Fast_Hash_10 6.54 ns 6.54 ns -0.1%
JSON_String_Fast_Hash_100 6.55 ns 6.52 ns -0.5%
JSON_String_Key_Hash_10 5.02 ns 5.02 ns +0.0%
JSON_String_Key_Hash_100 11.86 ns 11.87 ns +0.1%
JSON_Object_Defines_Miss_Same_Length 3.45 ns 3.45 ns -0.1%
JSON_Object_Defines_Miss_Too_Small 4.08 ns 4.08 ns -0.1%
JSON_Object_Defines_Miss_Too_Large 3.46 ns 3.46 ns +0.0%
JSON_From_String_Copy 64.33 ns 64.45 ns +0.2%
JSON_From_String_Temporary 57.40 ns 58.27 ns +1.5%
JSON_Number_To_Double 40.81 ns 40.97 ns +0.4%
JSON_Object_At_Last_Key_8 6.98 ns 7.04 ns +0.9%
JSON_Object_At_Last_Key_32 22.94 ns 22.91 ns -0.1%
JSON_Object_At_Last_Key_128 89.42 ns 89.27 ns -0.2%
JSON_Object_At_Last_Key_512 422.15 ns 425.02 ns +0.7%
JSON_Divisible_By_Decimal 383.52 ns 383.18 ns -0.1%
JSON_PropertySet_Contains 79.48 ns 78.85 ns -0.8%
JSON_PropertySet_Filter_Object_Properties 50.22 ns 50.65 ns +0.9%
JSON_PropertySet_Insert 1.33 us 1.31 us -0.9%
JSON_Stringify_Schema_Web_Of_Things 230.79 us 230.53 us -0.1%
JSON_Prettify_Schema_Web_Of_Things 717.17 us 719.51 us +0.3%
Pointer_Object_Traverse 70.73 ns 72.11 ns +1.9%
Pointer_Object_Try_Traverse 70.58 ns 70.43 ns -0.2%
Pointer_Push_Back_Pointer_To_Weak_Pointer 161.49 ns 186.53 ns +15.5%
Pointer_Walker_Schema_ISO_Language 8.77 ms 10.45 ms +19.3%
Pointer_Untracked_Deeply_Nested 2.35 ms 2.36 ms +0.2%
Pointer_Tracked_Deeply_Nested 3.58 ms 3.66 ms +2.4%
Pointer_Position_Tracker_Get_Deeply_Nested 563.97 ns 575.07 ns +2.0%
Schema_Tracker_ISO_Language 10.59 ms 10.77 ms +1.7%
Schema_Tracker_ISO_Language_To_JSON 62.69 ms 63.25 ms +0.9%
Schema_Frame_WoT_References 5.06 ms 5.05 ms -0.2%
Schema_Frame_OMC_References 22.48 ms 22.97 ms +2.2%
Schema_Frame_OMC_Pointers 40.96 ms 42.88 ms +4.7%
Schema_Frame_OMC_Locations 19.06 ms 19.37 ms +1.6%
Schema_Frame_ISO_Language_Locations 81.51 ms 85.26 ms +4.6%
Schema_Frame_ISO_Language_Root 2.57 us 2.58 us +0.5%
Schema_Frame_KrakenD_References 38.39 ms 40.12 ms +4.5%
Schema_Frame_KrakenD_Reachable 299.56 ms 312.72 ms +4.4%
Schema_Frame_ISO_Language_Locations_To_JSON 160.32 ms 169.84 ms +5.9%
Schema_Frame_Many_Resources_References 362.85 ms 367.54 ms +1.3%
Schema_Frame_Deeply_Nested_References 23.49 ms 25.15 ms +7.1%
Schema_Format_ISO_Language 86.11 ms 91.16 ms +5.9%
Schema_Bundle_Meta_2020_12 1.53 ms 1.52 ms -0.4%
Schema_Bundle_Many_Remotes_With_Fragments 29.40 ms 29.57 ms +0.6%
OpenAPI_Frame_GSMTasks_3_0 383.93 ms 385.94 ms +0.5%
OpenAPI_Format_Synthetic_3_1 130.97 ms 131.23 ms +0.2%
JSONPath_Descendant_Filter_Nested 2.87 us 2.86 us -0.3%
URITemplateRouter_Create 39.27 us 39.29 us +0.0%
URITemplateRouter_Match 234.14 ns 233.15 ns -0.4%
URITemplateRouterView_Restore 33.97 us 33.82 us -0.4%
URITemplateRouterView_Match 217.63 ns 216.50 ns -0.5%
URITemplateRouterView_Arguments 540.16 ns 541.96 ns +0.3%
URITemplateRouter_Match_BasePath 266.63 ns 264.53 ns -0.8%
URITemplateRouterView_Match_BasePath 247.28 ns 246.47 ns -0.3%
JSONL_Parse_Large 32.70 ms 32.95 ms +0.8%
JSONL_Parse_Large_GZIP 31.34 ms 31.71 ms +1.2%
JSONLD_Catalog_Annotation_List_Populate 2.97 ms 2.99 ms +0.5%
JSONLD_Catalog_Materialize 8.19 ms 8.22 ms +0.4%
HTML_Build_Table_100000 66.58 ms 67.22 ms +1.0%
HTML_Render_Table_100000 7.69 ms 7.67 ms -0.3%
Markdown_To_HTML_Realistic_Document 5.76 ms 5.77 ms +0.2%
Markdown_To_HTML_Pathological 18.36 ms 17.61 ms -4.1%
Markdown_To_HTML_Short_Descriptions 709.18 ns 710.98 ns +0.3%
GZIP_Compress_ISO_Language_Set_3_Locations 37.17 ms 37.37 ms +0.6%
GZIP_Decompress_ISO_Language_Set_3_Locations 9.47 ms 9.58 ms +1.1%
GZIP_Decompress_Default_Level_ISO_Language_Set_3_Locations 11.84 ms 11.84 ms -0.0%
GZIP_Decompress_Stream_Default_Level_ISO_Language_Set_3_Locations 14.45 ms 14.56 ms +0.8%
GZIP_Compress_ISO_Language_Set_3_Schema 2.31 ms 2.30 ms -0.3%
GZIP_Decompress_ISO_Language_Set_3_Schema 647.68 us 649.17 us +0.2%
JOSE_VerifySignature_RS256 21.31 us 21.30 us -0.0%
JOSE_VerifySignature_ES512 1.53 ms 1.52 ms -0.5%
Crypto_CRC32_Large_JSONL 103.30 us 103.25 us -0.0%
Crypto_AES_GCM_Encrypt_128_1KB 2.36 us 2.39 us +1.0%
Crypto_AES_GCM_Decrypt_128_1KB 2.35 us 2.35 us +0.4%
Crypto_AES_GCM_Encrypt_256_1KB 2.43 us 2.44 us +0.5%

@github-actions

github-actions Bot commented Oct 24, 2026 •

Copy link
Copy Markdown

Benchmark linux/gcc

Measured against main at 9889529.

23 slower, 7 faster, 85 within 5%.

Benchmark main This branch Change
JSON_String_Key_Hash_10 1.91 ns 2.56 ns +34.0%
JSON_Object_Defines_Miss_Too_Large 2.45 ns 3.00 ns +22.3%
Regex_Lower_S_Or_Upper_S_Asterisk 1.50 ns 1.77 ns +18.3%
Regex_Caret_Period_Asterisk_Dollar 1.50 ns 1.77 ns +18.2%
Regex_Period_Plus 1.50 ns 1.77 ns +18.2%
Regex_Caret_Group_Period_Plus_Group_Dollar 1.57 ns 1.84 ns +17.4%
Regex_Group_Period_Asterisk_Group 1.57 ns 1.84 ns +17.3%
JSON_String_Equal_10 5.01 ns 5.80 ns +15.8%
Regex_Caret_Period_Plus_Dollar 1.57 ns 1.77 ns +13.1%
Regex_Caret_Lower_S_Or_Upper_S_Asterisk_Dollar 1.57 ns 1.77 ns +13.1%
Regex_Period 1.57 ns 1.77 ns +13.1%
Regex_Period_Asterisk 1.57 ns 1.77 ns +13.1%
Regex_Caret_Group_Period_Asterisk_Group_Dollar 1.57 ns 1.77 ns +13.0%
JSON_String_Fast_Hash_100 2.33 ns 2.60 ns +11.5%
JSON_PropertySet_Insert 338.79 ns 370.82 ns +9.5%
JSON_Array_Of_Strings_Unique_Colliding_256 142.23 us 155.26 us +9.2%
JSON_String_Equal_100 5.83 ns 6.34 ns +8.8%
JSON_Equality_Helm_Chart_Lock 134.20 ns 144.79 ns +7.9%
URITemplateRouterView_Match_BasePath 114.48 ns 121.61 ns +6.2%
URITemplateRouterView_Match 97.63 ns 103.66 ns +6.2%
JSON_PropertySet_Filter_Object_Properties 28.08 ns 29.74 ns +5.9%
JSONPath_Descendant_Filter_Nested 1.51 us 1.59 us +5.5%
JSONL_Parse_Large_GZIP 8.01 ms 8.42 ms +5.0%
Schema_Format_ISO_Language 38.82 ms 36.56 ms -5.8%
Regex_Caret_Period_Range_Dollar 3.21 ns 2.86 ns -10.7%
JSON_Object_Defines_Miss_Same_Length 3.27 ns 2.45 ns -25.1%
JSON_Object_At_Last_Key_8 5.16 ns 3.24 ns -37.1%
JSON_Object_At_Last_Key_32 18.26 ns 10.10 ns -44.7%
JSON_Object_At_Last_Key_512 292.73 ns 156.60 ns -46.5%
JSON_Object_At_Last_Key_128 70.61 ns 36.51 ns -48.3%
All 115 benchmarks
Benchmark main This branch Change
Crypto_CRC32_Large_JSONL 88.63 us 88.76 us +0.1%
Crypto_AES_GCM_Encrypt_128_1KB 841.91 ns 823.14 ns -2.2%
Crypto_AES_GCM_Decrypt_128_1KB 820.47 ns 804.59 ns -1.9%
Crypto_AES_GCM_Encrypt_256_1KB 875.07 ns 872.00 ns -0.4%
JOSE_VerifySignature_RS256 19.20 us 19.09 us -0.5%
JOSE_VerifySignature_ES512 498.08 us 497.19 us -0.2%
GZIP_Compress_ISO_Language_Set_3_Locations 24.60 ms 24.70 ms +0.4%
GZIP_Decompress_ISO_Language_Set_3_Locations 4.32 ms 4.34 ms +0.3%
GZIP_Decompress_Default_Level_ISO_Language_Set_3_Locations 5.83 ms 5.83 ms +0.0%
GZIP_Decompress_Stream_Default_Level_ISO_Language_Set_3_Locations 7.20 ms 7.09 ms -1.5%
GZIP_Compress_ISO_Language_Set_3_Schema 1.78 ms 1.79 ms +0.6%
GZIP_Decompress_ISO_Language_Set_3_Schema 267.72 us 267.92 us +0.1%
Markdown_To_HTML_Realistic_Document 3.88 ms 3.87 ms -0.3%
Markdown_To_HTML_Pathological 11.08 ms 10.90 ms -1.7%
Markdown_To_HTML_Short_Descriptions 472.70 ns 480.71 ns +1.7%
HTML_Build_Table_100000 28.65 ms 28.91 ms +0.9%
HTML_Render_Table_100000 1.81 ms 1.86 ms +2.3%
JSONLD_Catalog_Annotation_List_Populate 569.43 us 561.41 us -1.4%
JSONLD_Catalog_Materialize 2.79 ms 2.74 ms -1.7%
JSONL_Parse_Large 7.87 ms 8.18 ms +3.8%
JSONL_Parse_Large_GZIP 8.01 ms 8.42 ms +5.0%
URITemplateRouter_Create 15.48 us 15.47 us -0.1%
URITemplateRouter_Match 112.01 ns 110.73 ns -1.1%
URITemplateRouterView_Restore 6.94 us 6.90 us -0.7%
URITemplateRouterView_Match 97.63 ns 103.66 ns +6.2%
URITemplateRouterView_Arguments 370.90 ns 360.46 ns -2.8%
URITemplateRouter_Match_BasePath 128.14 ns 128.12 ns -0.0%
URITemplateRouterView_Match_BasePath 114.48 ns 121.61 ns +6.2%
JSONPath_Descendant_Filter_Nested 1.51 us 1.59 us +5.5%
OpenAPI_Frame_GSMTasks_3_0 128.56 ms 123.92 ms -3.6%
OpenAPI_Format_Synthetic_3_1 41.34 ms 41.80 ms +1.1%
Schema_Frame_WoT_References 1.80 ms 1.76 ms -2.0%
Schema_Frame_OMC_References 7.94 ms 7.84 ms -1.3%
Schema_Frame_OMC_Pointers 14.81 ms 14.41 ms -2.7%
Schema_Frame_OMC_Locations 6.88 ms 6.82 ms -1.0%
Schema_Frame_ISO_Language_Locations 32.91 ms 33.82 ms +2.8%
Schema_Frame_ISO_Language_Root 254.12 ns 264.22 ns +4.0%
Schema_Frame_KrakenD_References 12.65 ms 12.77 ms +0.9%
Schema_Frame_KrakenD_Reachable 103.77 ms 99.90 ms -3.7%
Schema_Frame_ISO_Language_Locations_To_JSON 28.18 ms 28.04 ms -0.5%
Schema_Frame_Many_Resources_References 100.22 ms 97.87 ms -2.3%
Schema_Frame_Deeply_Nested_References 8.86 ms 8.74 ms -1.4%
Schema_Format_ISO_Language 38.82 ms 36.56 ms -5.8%
Schema_Bundle_Meta_2020_12 494.68 us 480.35 us -2.9%
Schema_Bundle_Many_Remotes_With_Fragments 5.65 ms 5.72 ms +1.2%
Pointer_Object_Traverse 19.26 ns 19.27 ns +0.1%
Pointer_Object_Try_Traverse 20.71 ns 20.71 ns +0.0%
Pointer_Push_Back_Pointer_To_Weak_Pointer 108.22 ns 108.41 ns +0.2%
Pointer_Walker_Schema_ISO_Language 1.10 ms 1.08 ms -1.7%
Pointer_Untracked_Deeply_Nested 1.13 ms 1.14 ms +0.7%
Pointer_Tracked_Deeply_Nested 1.50 ms 1.50 ms +0.1%
Pointer_Position_Tracker_Get_Deeply_Nested 525.92 ns 534.26 ns +1.6%
Schema_Tracker_ISO_Language 3.88 ms 3.85 ms -0.8%
Schema_Tracker_ISO_Language_To_JSON 11.94 ms 12.49 ms +4.6%
JSON_Array_Of_Objects_Unique 375.22 ns 375.93 ns +0.2%
JSON_Array_Of_Integers_Unique_256 3.32 us 3.28 us -1.2%
JSON_Array_Of_Strings_Unique_Colliding_256 142.23 us 155.26 us +9.2%
JSON_Parse_1 4.28 us 4.33 us +1.0%
JSON_Parse_Real 4.06 us 4.01 us -1.2%
JSON_Parse_Real_Inexact 3.74 us 3.79 us +1.3%
JSON_Parse_Decimal 6.60 us 6.80 us +2.9%
JSON_Parse_Schema_ISO_Language 2.95 ms 2.97 ms +0.8%
JSON_Parse_KrakenD 1.17 ms 1.17 ms -0.1%
JSON_Stringify_ISO_Language 2.08 ms 2.02 ms -2.8%
JSON_Prettify_KrakenD 1.60 ms 1.57 ms -1.5%
JSON_Parse_Integer 3.27 us 3.28 us +0.4%
JSON_Parse_String_NonSSO_Plain 3.25 us 3.19 us -1.9%
JSON_Parse_String_SSO_Plain 2.59 us 2.50 us -3.4%
JSON_Parse_String_Escape_Heavy 13.01 us 12.60 us -3.1%
JSON_Parse_Object_Short_Keys 8.11 us 8.08 us -0.3%
JSON_Parse_Object_Scalar_Properties 4.11 us 4.09 us -0.3%
JSON_Parse_Object_Array_Properties 5.40 us 5.40 us +0.1%
JSON_Parse_Object_Object_Properties 5.38 us 5.37 us -0.1%
JSON_Parse_Nested_Containers 33.87 us 33.65 us -0.7%
JSON_Fast_Hash_Helm_Chart_Lock 65.29 ns 63.48 ns -2.8%
JSON_Equality_Helm_Chart_Lock 134.20 ns 144.79 ns +7.9%
JSON_String_Equal_10 5.01 ns 5.80 ns +15.8%
JSON_String_Equal_100 5.83 ns 6.34 ns +8.8%
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 8.95 ns 8.88 ns -0.8%
JSON_String_Fast_Hash_10 2.33 ns 2.33 ns +0.1%
JSON_String_Fast_Hash_100 2.33 ns 2.60 ns +11.5%
JSON_String_Key_Hash_10 1.91 ns 2.56 ns +34.0%
JSON_String_Key_Hash_100 12.26 ns 12.27 ns +0.1%
JSON_Object_Defines_Miss_Same_Length 3.27 ns 2.45 ns -25.1%
JSON_Object_Defines_Miss_Too_Small 2.45 ns 2.45 ns +0.0%
JSON_Object_Defines_Miss_Too_Large 2.45 ns 3.00 ns +22.3%
JSON_From_String_Copy 7.41 ns 7.50 ns +1.2%
JSON_From_String_Temporary 6.59 ns 6.88 ns +4.4%
JSON_Number_To_Double 19.68 ns 19.83 ns +0.8%
JSON_Object_At_Last_Key_8 5.16 ns 3.24 ns -37.1%
JSON_Object_At_Last_Key_32 18.26 ns 10.10 ns -44.7%
JSON_Object_At_Last_Key_128 70.61 ns 36.51 ns -48.3%
JSON_Object_At_Last_Key_512 292.73 ns 156.60 ns -46.5%
JSON_Divisible_By_Decimal 265.76 ns 261.92 ns -1.4%
JSON_PropertySet_Contains 39.81 ns 40.37 ns +1.4%
JSON_PropertySet_Filter_Object_Properties 28.08 ns 29.74 ns +5.9%
JSON_PropertySet_Insert 338.79 ns 370.82 ns +9.5%
JSON_Stringify_Schema_Web_Of_Things 46.56 us 45.42 us -2.5%
JSON_Prettify_Schema_Web_Of_Things 125.81 us 126.03 us +0.2%
Regex_Lower_S_Or_Upper_S_Asterisk 1.50 ns 1.77 ns +18.3%
Regex_Caret_Lower_S_Or_Upper_S_Asterisk_Dollar 1.57 ns 1.77 ns +13.1%
Regex_Period_Asterisk 1.57 ns 1.77 ns +13.1%
Regex_Group_Period_Asterisk_Group 1.57 ns 1.84 ns +17.3%
Regex_Period_Plus 1.50 ns 1.77 ns +18.2%
Regex_Period 1.57 ns 1.77 ns +13.1%
Regex_Caret_Period_Plus_Dollar 1.57 ns 1.77 ns +13.1%
Regex_Caret_Group_Period_Plus_Group_Dollar 1.57 ns 1.84 ns +17.4%
Regex_Caret_Period_Asterisk_Dollar 1.50 ns 1.77 ns +18.2%
Regex_Caret_Group_Period_Asterisk_Group_Dollar 1.57 ns 1.77 ns +13.0%
Regex_Caret_X_Hyphen 5.45 ns 5.38 ns -1.2%
Regex_Period_Md_Dollar 26.89 ns 26.31 ns -2.2%
Regex_Caret_Slash_Period_Asterisk 5.87 ns 5.90 ns +0.5%
Regex_Caret_Period_Range_Dollar 3.21 ns 2.86 ns -10.7%
Regex_Nested_Backtrack 32.00 ns 33.51 ns +4.7%

@github-actions

github-actions Bot commented Oct 24, 2026 •

Copy link
Copy Markdown

Benchmark macos/llvm

Measured against main at 9889529.

39 slower, 56 faster, 20 within 5%.

Benchmark main This branch Change
JSON_From_String_Copy 13.41 ns 19.68 ns +46.8%
JSON_PropertySet_Filter_Object_Properties 45.33 ns 66.28 ns +46.2%
Crypto_AES_GCM_Decrypt_128_1KB 4.02 us 5.77 us +43.4%
JSON_Object_Defines_Miss_Too_Small 2.84 ns 3.97 ns +39.7%
JSON_String_Key_Hash_100 2.34 ns 3.26 ns +39.2%
JSON_Number_To_Double 11.59 ns 15.57 ns +34.3%
JSON_PropertySet_Contains 52.05 ns 69.79 ns +34.1%
Crypto_AES_GCM_Encrypt_128_1KB 3.79 us 4.98 us +31.4%
HTML_Build_Table_100000 25.29 ms 33.07 ms +30.7%
Crypto_CRC32_Large_JSONL 22.50 us 29.14 us +29.5%
Pointer_Walker_Schema_ISO_Language 1.76 ms 2.09 ms +18.6%
JSON_Object_At_Last_Key_32 13.99 ns 16.59 ns +18.6%
JSON_Object_Defines_Miss_Same_Length 2.75 ns 3.24 ns +17.8%
Markdown_To_HTML_Realistic_Document 2.97 ms 3.46 ms +16.7%
Markdown_To_HTML_Pathological 9.76 ms 11.28 ms +15.6%
GZIP_Compress_ISO_Language_Set_3_Locations 28.77 ms 33.13 ms +15.1%
JSON_Prettify_Schema_Web_Of_Things 172.98 us 198.60 us +14.8%
JOSE_VerifySignature_ES512 1.04 ms 1.19 ms +14.3%
JSON_String_Fast_Hash_100 2.00 ns 2.27 ns +13.7%
JSON_Object_Defines_Miss_Too_Large 3.26 ns 3.71 ns +13.6%
JSON_PropertySet_Insert 365.52 ns 415.16 ns +13.6%
GZIP_Decompress_ISO_Language_Set_3_Locations 3.06 ms 3.47 ms +13.5%
JSON_String_Key_Hash_10 2.09 ns 2.34 ns +12.2%
OpenAPI_Format_Synthetic_3_1 41.13 ms 46.12 ms +12.1%
JSON_From_String_Temporary 7.66 ns 8.58 ns +12.0%
GZIP_Compress_ISO_Language_Set_3_Schema 1.67 ms 1.86 ms +11.7%
URITemplateRouterView_Match_BasePath 138.20 ns 153.03 ns +10.7%
Pointer_Untracked_Deeply_Nested 1.11 ms 1.22 ms +10.5%
JSONLD_Catalog_Materialize 2.15 ms 2.36 ms +9.5%
Schema_Frame_ISO_Language_Locations 23.06 ms 25.16 ms +9.1%
JSON_Object_At_Last_Key_8 4.70 ns 5.11 ns +8.7%
JSON_String_Equal_Small_By_Runtime_Perfect_Hash_10 3.77 ns 4.09 ns +8.6%
Pointer_Object_Try_Traverse 45.13 ns 48.98 ns +8.5%
JSON_String_Equal_Small_By_Perfect_Hash_10 0.38 ns 0.41 ns +8.2%
JSON_String_Equal_100 6.87 ns 7.42 ns +8.1%
JSON_Stringify_Schema_Web_Of_Things 75.04 us 81.10 us +8.1%
GZIP_Decompress_Stream_Default_Level_ISO_Language_Set_3_Locations 5.32 ms 5.74 ms +7.8%
JSON_Object_At_Last_Key_128 64.71 ns 68.65 ns +6.1%
JSONL_Parse_Large 6.04 ms 6.39 ms +5.9%
JSON_Object_At_Last_Key_512 224.77 ns 213.06 ns -5.2%
Schema_Frame_ISO_Language_Root 136.32 ns 128.91 ns -5.4%
JSON_String_Fast_Hash_10 2.52 ns 2.37 ns -5.7%
Schema_Frame_WoT_References 2.24 ms 2.10 ms -6.3%
JSON_Equality_Helm_Chart_Lock 183.09 ns 171.32 ns -6.4%
Schema_Tracker_ISO_Language 3.60 ms 3.36 ms -6.8%
JSON_Parse_String_Escape_Heavy 19.45 us 18.09 us -7.0%
JSON_Divisible_By_Decimal 300.30 ns 278.93 ns -7.1%
URITemplateRouterView_Arguments 584.21 ns 541.54 ns -7.3%
JSON_Parse_Object_Scalar_Properties 3.00 us 2.76 us -7.7%
Schema_Frame_KrakenD_References 15.27 ms 14.01 ms -8.3%
Schema_Frame_OMC_References 11.85 ms 10.82 ms -8.7%
JSON_String_Equal_10 7.76 ns 7.08 ns -8.7%
JSON_Parse_Object_Array_Properties 3.97 us 3.62 us -8.8%
Schema_Format_ISO_Language 25.50 ms 23.21 ms -9.0%
HTML_Render_Table_100000 1.78 ms 1.61 ms -9.6%
Schema_Bundle_Meta_2020_12 517.68 us 465.33 us -10.1%
Schema_Frame_Deeply_Nested_References 12.97 ms 11.62 ms -10.4%
Schema_Bundle_Many_Remotes_With_Fragments 5.93 ms 5.23 ms -11.8%
JSON_Parse_Object_Object_Properties 4.07 us 3.55 us -12.8%
JSON_Fast_Hash_Helm_Chart_Lock 63.47 ns 55.15 ns -13.1%
Pointer_Position_Tracker_Get_Deeply_Nested 464.77 ns 402.50 ns -13.4%
JSON_Parse_Nested_Containers 29.49 us 25.46 us -13.7%
JSON_Parse_Object_Short_Keys 6.34 us 5.34 us -15.7%
Regex_Lower_S_Or_Upper_S_Asterisk 2.04 ns 1.71 ns -16.3%
Regex_Caret_Slash_Period_Asterisk 5.88 ns 4.92 ns -16.3%
Schema_Frame_Many_Resources_References 90.07 ms 75.17 ms -16.5%
Schema_Frame_ISO_Language_Locations_To_JSON 24.42 ms 20.38 ms -16.6%
Regex_Nested_Backtrack 34.19 ns 28.11 ns -17.8%
Crypto_AES_GCM_Encrypt_256_1KB 4.96 us 4.06 us -18.2%
JSON_Array_Of_Objects_Unique 413.14 ns 334.72 ns -19.0%
Regex_Caret_Lower_S_Or_Upper_S_Asterisk_Dollar 2.04 ns 1.65 ns -19.2%
Regex_Caret_Period_Asterisk_Dollar 2.08 ns 1.68 ns -19.3%
JSON_Parse_Real 3.88 us 3.10 us -20.0%
Regex_Caret_X_Hyphen 7.75 ns 6.16 ns -20.5%
JSON_Parse_1 3.58 us 2.79 us -21.9%
JSON_Prettify_KrakenD 2.22 ms 1.72 ms -22.5%
JSON_Parse_Integer 3.46 us 2.68 us -22.6%
JSON_Parse_Schema_ISO_Language 2.78 ms 2.15 ms -22.6%
JSON_Stringify_ISO_Language 3.14 ms 2.43 ms -22.6%
JSON_Parse_Real_Inexact 3.85 us 2.97 us -23.0%
Regex_Period_Asterisk 2.12 ns 1.63 ns -23.0%
JSON_Array_Of_Strings_Unique_Colliding_256 178.03 us 136.24 us -23.5%
JSON_Parse_KrakenD 1.05 ms 795.55 us -24.3%
JSON_Array_Of_Integers_Unique_256 5.60 us 4.24 us -24.3%
Regex_Caret_Group_Period_Asterisk_Group_Dollar 2.23 ns 1.68 ns -24.9%
Schema_Tracker_ISO_Language_To_JSON 16.69 ms 12.41 ms -25.6%
Regex_Group_Period_Asterisk_Group 2.22 ns 1.63 ns -26.6%
Regex_Period_Plus 2.23 ns 1.63 ns -26.7%
Regex_Caret_Period_Range_Dollar 2.75 ns 2.01 ns -27.0%
Regex_Period 2.19 ns 1.59 ns -27.4%
Regex_Caret_Period_Plus_Dollar 2.19 ns 1.57 ns -28.2%
JSONLD_Catalog_Annotation_List_Populate 697.51 us 498.73 us -28.5%
Regex_Caret_Group_Period_Plus_Group_Dollar 2.20 ns 1.57 ns -28.6%
JSON_Parse_Decimal 7.06 us 4.90 us -30.5%
Regex_Period_Md_Dollar 28.85 ns 16.81 ns -41.7%
All 115 benchmarks
Benchmark main This branch Change
Regex_Lower_S_Or_Upper_S_Asterisk 2.04 ns 1.71 ns -16.3%
Regex_Caret_Lower_S_Or_Upper_S_Asterisk_Dollar 2.04 ns 1.65 ns -19.2%
Regex_Period_Asterisk 2.12 ns 1.63 ns -23.0%
Regex_Group_Period_Asterisk_Group 2.22 ns 1.63 ns -26.6%
Regex_Period_Plus 2.23 ns 1.63 ns -26.7%
Regex_Period 2.19 ns 1.59 ns -27.4%
Regex_Caret_Period_Plus_Dollar 2.19 ns 1.57 ns -28.2%
Regex_Caret_Group_Period_Plus_Group_Dollar 2.20 ns 1.57 ns -28.6%
Regex_Caret_Period_Asterisk_Dollar 2.08 ns 1.68 ns -19.3%
Regex_Caret_Group_Period_Asterisk_Group_Dollar 2.23 ns 1.68 ns -24.9%
Regex_Caret_X_Hyphen 7.75 ns 6.16 ns -20.5%
Regex_Period_Md_Dollar 28.85 ns 16.81 ns -41.7%
Regex_Caret_Slash_Period_Asterisk 5.88 ns 4.92 ns -16.3%
Regex_Caret_Period_Range_Dollar 2.75 ns 2.01 ns -27.0%
Regex_Nested_Backtrack 34.19 ns 28.11 ns -17.8%
JSON_Array_Of_Objects_Unique 413.14 ns 334.72 ns -19.0%
JSON_Array_Of_Integers_Unique_256 5.60 us 4.24 us -24.3%
JSON_Array_Of_Strings_Unique_Colliding_256 178.03 us 136.24 us -23.5%
JSON_Parse_1 3.58 us 2.79 us -21.9%
JSON_Parse_Real 3.88 us 3.10 us -20.0%
JSON_Parse_Real_Inexact 3.85 us 2.97 us -23.0%
JSON_Parse_Decimal 7.06 us 4.90 us -30.5%
JSON_Parse_Schema_ISO_Language 2.78 ms 2.15 ms -22.6%
JSON_Parse_KrakenD 1.05 ms 795.55 us -24.3%
JSON_Stringify_ISO_Language 3.14 ms 2.43 ms -22.6%
JSON_Prettify_KrakenD 2.22 ms 1.72 ms -22.5%
JSON_Parse_Integer 3.46 us 2.68 us -22.6%
JSON_Parse_String_NonSSO_Plain 3.72 us 3.72 us +0.2%
JSON_Parse_String_SSO_Plain 2.00 us 1.99 us -0.2%
JSON_Parse_String_Escape_Heavy 19.45 us 18.09 us -7.0%
JSON_Parse_Object_Short_Keys 6.34 us 5.34 us -15.7%
JSON_Parse_Object_Scalar_Properties 3.00 us 2.76 us -7.7%
JSON_Parse_Object_Array_Properties 3.97 us 3.62 us -8.8%
JSON_Parse_Object_Object_Properties 4.07 us 3.55 us -12.8%
JSON_Parse_Nested_Containers 29.49 us 25.46 us -13.7%
JSON_Fast_Hash_Helm_Chart_Lock 63.47 ns 55.15 ns -13.1%
JSON_Equality_Helm_Chart_Lock 183.09 ns 171.32 ns -6.4%
JSON_String_Equal_10 7.76 ns 7.08 ns -8.7%
JSON_String_Equal_100 6.87 ns 7.42 ns +8.1%
JSON_String_Equal_Small_By_Perfect_Hash_10 0.38 ns 0.41 ns +8.2%
JSON_String_Equal_Small_By_Runtime_Perfect_Hash_10 3.77 ns 4.09 ns +8.6%
JSON_String_Fast_Hash_10 2.52 ns 2.37 ns -5.7%
JSON_String_Fast_Hash_100 2.00 ns 2.27 ns +13.7%
JSON_String_Key_Hash_10 2.09 ns 2.34 ns +12.2%
JSON_String_Key_Hash_100 2.34 ns 3.26 ns +39.2%
JSON_Object_Defines_Miss_Same_Length 2.75 ns 3.24 ns +17.8%
JSON_Object_Defines_Miss_Too_Small 2.84 ns 3.97 ns +39.7%
JSON_Object_Defines_Miss_Too_Large 3.26 ns 3.71 ns +13.6%
JSON_From_String_Copy 13.41 ns 19.68 ns +46.8%
JSON_From_String_Temporary 7.66 ns 8.58 ns +12.0%
JSON_Number_To_Double 11.59 ns 15.57 ns +34.3%
JSON_Object_At_Last_Key_8 4.70 ns 5.11 ns +8.7%
JSON_Object_At_Last_Key_32 13.99 ns 16.59 ns +18.6%
JSON_Object_At_Last_Key_128 64.71 ns 68.65 ns +6.1%
JSON_Object_At_Last_Key_512 224.77 ns 213.06 ns -5.2%
JSON_Divisible_By_Decimal 300.30 ns 278.93 ns -7.1%
JSON_PropertySet_Contains 52.05 ns 69.79 ns +34.1%
JSON_PropertySet_Filter_Object_Properties 45.33 ns 66.28 ns +46.2%
JSON_PropertySet_Insert 365.52 ns 415.16 ns +13.6%
JSON_Stringify_Schema_Web_Of_Things 75.04 us 81.10 us +8.1%
JSON_Prettify_Schema_Web_Of_Things 172.98 us 198.60 us +14.8%
Pointer_Object_Traverse 25.50 ns 25.89 ns +1.5%
Pointer_Object_Try_Traverse 45.13 ns 48.98 ns +8.5%
Pointer_Push_Back_Pointer_To_Weak_Pointer 184.97 ns 192.71 ns +4.2%
Pointer_Walker_Schema_ISO_Language 1.76 ms 2.09 ms +18.6%
Pointer_Untracked_Deeply_Nested 1.11 ms 1.22 ms +10.5%
Pointer_Tracked_Deeply_Nested 1.36 ms 1.32 ms -3.2%
Pointer_Position_Tracker_Get_Deeply_Nested 464.77 ns 402.50 ns -13.4%
Schema_Tracker_ISO_Language 3.60 ms 3.36 ms -6.8%
Schema_Tracker_ISO_Language_To_JSON 16.69 ms 12.41 ms -25.6%
Schema_Frame_WoT_References 2.24 ms 2.10 ms -6.3%
Schema_Frame_OMC_References 11.85 ms 10.82 ms -8.7%
Schema_Frame_OMC_Pointers 17.90 ms 18.56 ms +3.7%
Schema_Frame_OMC_Locations 7.95 ms 8.21 ms +3.3%
Schema_Frame_ISO_Language_Locations 23.06 ms 25.16 ms +9.1%
Schema_Frame_ISO_Language_Root 136.32 ns 128.91 ns -5.4%
Schema_Frame_KrakenD_References 15.27 ms 14.01 ms -8.3%
Schema_Frame_KrakenD_Reachable 188.97 ms 186.07 ms -1.5%
Schema_Frame_ISO_Language_Locations_To_JSON 24.42 ms 20.38 ms -16.6%
Schema_Frame_Many_Resources_References 90.07 ms 75.17 ms -16.5%
Schema_Frame_Deeply_Nested_References 12.97 ms 11.62 ms -10.4%
Schema_Format_ISO_Language 25.50 ms 23.21 ms -9.0%
Schema_Bundle_Meta_2020_12 517.68 us 465.33 us -10.1%
Schema_Bundle_Many_Remotes_With_Fragments 5.93 ms 5.23 ms -11.8%
OpenAPI_Frame_GSMTasks_3_0 146.95 ms 142.72 ms -2.9%
OpenAPI_Format_Synthetic_3_1 41.13 ms 46.12 ms +12.1%
JSONPath_Descendant_Filter_Nested 1.44 us 1.38 us -4.6%
URITemplateRouter_Create 18.99 us 19.27 us +1.4%
URITemplateRouter_Match 180.07 ns 183.20 ns +1.7%
URITemplateRouterView_Restore 11.66 us 11.30 us -3.0%
URITemplateRouterView_Match 133.97 ns 127.71 ns -4.7%
URITemplateRouterView_Arguments 584.21 ns 541.54 ns -7.3%
URITemplateRouter_Match_BasePath 212.84 ns 212.73 ns -0.0%
URITemplateRouterView_Match_BasePath 138.20 ns 153.03 ns +10.7%
JSONL_Parse_Large 6.04 ms 6.39 ms +5.9%
JSONL_Parse_Large_GZIP 6.77 ms 6.48 ms -4.3%
JSONLD_Catalog_Annotation_List_Populate 697.51 us 498.73 us -28.5%
JSONLD_Catalog_Materialize 2.15 ms 2.36 ms +9.5%
HTML_Build_Table_100000 25.29 ms 33.07 ms +30.7%
HTML_Render_Table_100000 1.78 ms 1.61 ms -9.6%
Markdown_To_HTML_Realistic_Document 2.97 ms 3.46 ms +16.7%
Markdown_To_HTML_Pathological 9.76 ms 11.28 ms +15.6%
Markdown_To_HTML_Short_Descriptions 318.21 ns 324.36 ns +1.9%
GZIP_Compress_ISO_Language_Set_3_Locations 28.77 ms 33.13 ms +15.1%
GZIP_Decompress_ISO_Language_Set_3_Locations 3.06 ms 3.47 ms +13.5%
GZIP_Decompress_Default_Level_ISO_Language_Set_3_Locations 4.64 ms 4.58 ms -1.3%
GZIP_Decompress_Stream_Default_Level_ISO_Language_Set_3_Locations 5.32 ms 5.74 ms +7.8%
GZIP_Compress_ISO_Language_Set_3_Schema 1.67 ms 1.86 ms +11.7%
GZIP_Decompress_ISO_Language_Set_3_Schema 307.27 us 304.26 us -1.0%
JOSE_VerifySignature_RS256 21.77 us 22.21 us +2.0%
JOSE_VerifySignature_ES512 1.04 ms 1.19 ms +14.3%
Crypto_CRC32_Large_JSONL 22.50 us 29.14 us +29.5%
Crypto_AES_GCM_Encrypt_128_1KB 3.79 us 4.98 us +31.4%
Crypto_AES_GCM_Decrypt_128_1KB 4.02 us 5.77 us +43.4%
Crypto_AES_GCM_Encrypt_256_1KB 4.96 us 4.06 us -18.2%

Signed-off-by: Juan Cruz Viotti <jv@jviotti.com>
@jviotti
jviotti merged commit 7e3e5ee into main Oct 24, 2026
15 checks passed
@jviotti
jviotti deleted the fixes-pointer branch October 24, 2026 18:09
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