Skip to content

Extend binary streams to make them a fit for BinPack - #3052

Merged
jviotti merged 2 commits into
mainfrom
bytestream-binpack
Nov 2, 2026
Merged

jviotti merged 2 commits into
mainfrom
bytestream-binpack

Conversation

@jviotti

@jviotti jviotti commented Nov 2, 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 12 files

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

View guided diff | Re-trigger cubic

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

std::uint64_t result{0};
for (std::size_t index = 0; index < size; index++) {
const auto byte{static_cast<std::uint8_t>(source[index])};
assert(index + 1 == size || (byte & CONTINUATION_BIT) != 0);

@augmentcode augmentcode Bot Nov 2, 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 malformed input with an early terminating byte at src/lang/numeric/include/sourcemeta/core/numeric_varint.h:95? For {0x01, 0x02}, varint_decode(..., 2) aborts in assertion-enabled builds and returns 257 with NDEBUG, rather than reporting that the buffer contains two varints instead of exactly one.

Severity: medium

Fix This in Augment

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

Comment thread src/lang/io/io_binary.cc

return static_cast<std::size_t>(position);
auto BinaryWriter::position() const noexcept -> std::size_t {
return this->offset_;

@augmentcode augmentcode Bot Nov 2, 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 cached cursor at src/lang/io/io_binary.cc:87 after the underlying stream is repositioned for backpatching? For writer.put_dword(0); stream.seekp(0); writer.put_dword(1);, position() now reports 8 rather than the actual 4, which regresses the previous behavior and can produce incorrect offsets for subsequent fields.

Other locations where this applies: src/lang/io/io_binary.cc:139

Severity: medium

Other Locations
  • src/lang/io/io_binary.cc:139

Fix This in Augment

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

@github-actions

github-actions Bot commented Nov 2, 2026 •

Copy link
Copy Markdown

Benchmark linux/llvm

Measured against main at 54cf211.

19 slower, 5 faster, 116 within 5%.

Benchmark main This branch Change
Pointer_Push_Back_Pointer_To_Weak_Pointer 135.72 ns 220.23 ns +62.3%
Regex_Caret_Group_Period_Asterisk_Group_Dollar 2.18 ns 3.42 ns +56.9%
Regex_Caret_Period_Asterisk_Dollar 2.49 ns 3.74 ns +50.1%
Regex_Caret_Period_Range_Dollar 3.11 ns 4.36 ns +40.0%
Regex_Caret_X_Hyphen 5.30 ns 7.16 ns +35.1%
JSON_String_Equal_Small_By_Runtime_Perfect_Hash_10 10.59 ns 13.09 ns +23.7%
JSON_String_Equal_100 6.86 ns 8.42 ns +22.8%
Pointer_Position_Tracker_Get_Deeply_Nested 630.86 ns 771.57 ns +22.3%
JSON_String_Key_Hash_10 2.18 ns 2.66 ns +22.1%
Regex_Caret_Slash_Period_Asterisk 5.92 ns 7.16 ns +21.0%
JSON_Number_To_Double 12.77 ns 14.98 ns +17.3%
Regex_Caret_Period_Plus_Dollar 2.49 ns 2.81 ns +12.6%
Regex_Period 2.50 ns 2.80 ns +12.1%
JSON_Object_Defines_All_Present_K8_W128 281.52 ns 313.30 ns +11.3%
Regex_Caret_Group_Period_Plus_Group_Dollar 2.80 ns 3.11 ns +11.1%
JSON_Object_Defines_All_Present_K2_W8 7.54 ns 8.35 ns +10.8%
JSON_String_Equal_10 6.85 ns 7.49 ns +9.3%
MCP_Intersect_Disjoint_512 750.41 us 812.65 us +8.3%
JSON_Equality_Helm_Chart_Lock 150.40 ns 158.86 ns +5.6%
JSON_Object_Try_At_Sorted_Order_Hint_32 729.34 ns 692.48 ns -5.1%
JSON_Array_Of_Integers_Unique_256 5.10 us 4.82 us -5.6%
OpenAPI_Format_Synthetic_3_1 55.66 ms 52.15 ms -6.3%
HTML_Render_Table_100000 2.08 ms 1.92 ms -7.7%
JSONLD_Catalog_Materialize 4.35 ms 3.65 ms -16.2%
All 140 benchmarks
Benchmark main This branch Change
MCP_Validate_Headers_64 21.18 us 21.28 us +0.4%
MCP_Intersect_Disjoint_512 750.41 us 812.65 us +8.3%
Regex_Lower_S_Or_Upper_S_Asterisk 2.49 ns 2.49 ns +0.0%
Regex_Caret_Lower_S_Or_Upper_S_Asterisk_Dollar 2.18 ns 2.19 ns +0.5%
Regex_Period_Asterisk 2.18 ns 2.19 ns +0.4%
Regex_Group_Period_Asterisk_Group 2.49 ns 2.49 ns +0.1%
Regex_Period_Plus 3.12 ns 3.12 ns -0.1%
Regex_Period 2.50 ns 2.80 ns +12.1%
Regex_Caret_Period_Plus_Dollar 2.49 ns 2.81 ns +12.6%
Regex_Caret_Group_Period_Plus_Group_Dollar 2.80 ns 3.11 ns +11.1%
Regex_Caret_Period_Asterisk_Dollar 2.49 ns 3.74 ns +50.1%
Regex_Caret_Group_Period_Asterisk_Group_Dollar 2.18 ns 3.42 ns +56.9%
Regex_Caret_X_Hyphen 5.30 ns 7.16 ns +35.1%
Regex_Period_Md_Dollar 27.41 ns 28.20 ns +2.9%
Regex_Caret_Slash_Period_Asterisk 5.92 ns 7.16 ns +21.0%
Regex_Caret_Period_Range_Dollar 3.11 ns 4.36 ns +40.0%
Regex_Nested_Backtrack 38.51 ns 38.84 ns +0.9%
JSON_Array_Of_Objects_Unique 397.78 ns 398.83 ns +0.3%
JSON_Array_Of_Integers_Unique_256 5.10 us 4.82 us -5.6%
JSON_Array_Of_Strings_Unique_Colliding_256 216.14 us 216.21 us +0.0%
JSON_Parse_1 4.69 us 4.71 us +0.3%
JSON_Parse_Real 4.77 us 4.81 us +0.8%
JSON_Parse_Real_Inexact 4.34 us 4.38 us +0.9%
JSON_Parse_Decimal 7.62 us 7.61 us -0.1%
JSON_Parse_Schema_ISO_Language 3.44 ms 3.44 ms -0.2%
JSON_Parse_KrakenD 1.11 ms 1.12 ms +0.8%
JSON_Stringify_ISO_Language 2.45 ms 2.49 ms +1.6%
JSON_Prettify_KrakenD 1.96 ms 1.97 ms +0.8%
JSON_Parse_Integer 3.71 us 3.71 us -0.0%
JSON_Parse_String_NonSSO_Plain 3.37 us 3.40 us +1.0%
JSON_Parse_String_SSO_Plain 2.96 us 2.98 us +0.7%
JSON_Parse_String_Escape_Heavy 12.40 us 12.55 us +1.2%
JSON_Parse_Object_Short_Keys 8.30 us 8.38 us +1.0%
JSON_Parse_Object_Scalar_Properties 4.25 us 4.22 us -0.7%
JSON_Parse_Object_Array_Properties 5.37 us 5.48 us +2.2%
JSON_Parse_Object_Object_Properties 5.54 us 5.66 us +2.1%
JSON_Parse_Nested_Containers 34.93 us 34.72 us -0.6%
JSON_Fast_Hash_Helm_Chart_Lock 60.78 ns 60.75 ns -0.1%
JSON_Equality_Helm_Chart_Lock 150.40 ns 158.86 ns +5.6%
JSON_String_Equal_10 6.85 ns 7.49 ns +9.3%
JSON_String_Equal_100 6.86 ns 8.42 ns +22.8%
JSON_String_Equal_Small_By_Perfect_Hash_10 1.13 ns 1.13 ns +0.1%
JSON_String_Equal_Small_By_Runtime_Perfect_Hash_10 10.59 ns 13.09 ns +23.7%
JSON_String_Fast_Hash_10 2.49 ns 2.49 ns +0.2%
JSON_String_Fast_Hash_100 2.49 ns 2.49 ns +0.2%
JSON_String_Key_Hash_10 2.18 ns 2.66 ns +22.1%
JSON_String_Key_Hash_100 2.49 ns 2.50 ns +0.1%
JSON_Object_Defines_Miss_Same_Length 2.83 ns 2.77 ns -1.9%
JSON_Object_Defines_Miss_Same_Length_32 18.24 ns 18.24 ns -0.0%
JSON_Object_Defines_Miss_Same_Length_128 83.48 ns 83.11 ns -0.4%
JSON_Object_Defines_Miss_Too_Small 3.74 ns 3.74 ns -0.0%
JSON_Object_Defines_Miss_Too_Large 2.67 ns 2.68 ns +0.4%
JSON_From_String_Copy 11.62 ns 11.64 ns +0.1%
JSON_From_String_Temporary 10.21 ns 10.26 ns +0.5%
JSON_Number_To_Double 12.77 ns 14.98 ns +17.3%
JSON_Object_At_Last_Key_8 3.69 ns 3.73 ns +0.9%
JSON_Object_At_Last_Key_32 21.49 ns 21.52 ns +0.2%
JSON_Object_At_Last_Key_128 47.91 ns 48.09 ns +0.4%
JSON_Object_At_Last_Key_512 371.02 ns 372.43 ns +0.4%
JSON_Object_At_Only_Key_1 1.24 ns 1.25 ns +0.1%
JSON_Object_At_Key_3 1.87 ns 1.87 ns +0.3%
JSON_Object_At_First_Key_8 1.25 ns 1.25 ns -0.0%
JSON_Object_At_First_Key_32 1.25 ns 1.25 ns +0.1%
JSON_Object_At_First_Key_128 1.25 ns 1.25 ns +0.1%
JSON_Object_At_First_Key_512 1.25 ns 1.25 ns +0.2%
JSON_Object_Iterate_32 11.23 ns 11.24 ns +0.1%
JSON_Object_Iterate_128 40.81 ns 40.91 ns +0.3%
JSON_Object_Defines_All_Present_K2_W8 7.54 ns 8.35 ns +10.8%
JSON_Object_Defines_All_Present_K8_W32 90.59 ns 90.77 ns +0.2%
JSON_Object_Defines_All_Present_K8_W128 281.52 ns 313.30 ns +11.3%
JSON_Object_Defines_All_Present_K32_W128 1.46 us 1.47 us +0.1%
JSON_Object_Try_At_Sequential_NoHint_32 296.83 ns 296.70 ns -0.0%
JSON_Object_Try_At_Sequential_Hint_32 61.97 ns 62.04 ns +0.1%
JSON_Object_At_Key_Sorted_Order_32 219.26 ns 219.74 ns +0.2%
JSON_Object_Try_At_Sorted_Order_Hint_32 729.34 ns 692.48 ns -5.1%
JSON_Divisible_By_Decimal 279.73 ns 281.60 ns +0.7%
JSON_PropertySet_Contains 52.95 ns 52.96 ns +0.0%
JSON_PropertySet_Filter_Object_Properties 38.08 ns 37.82 ns -0.7%
JSON_PropertySet_Insert 585.70 ns 557.09 ns -4.9%
JSON_Stringify_Schema_Web_Of_Things 57.23 us 57.11 us -0.2%
JSON_Prettify_Schema_Web_Of_Things 159.77 us 163.97 us +2.6%
Pointer_Object_Traverse 19.59 ns 19.69 ns +0.5%
Pointer_Object_Try_Traverse 30.12 ns 30.21 ns +0.3%
Pointer_Object_Traverse_Single_Property 5.92 ns 5.92 ns +0.1%
Pointer_Object_Try_Traverse_Single_Property 6.95 ns 6.95 ns +0.0%
Pointer_Push_Back_Pointer_To_Weak_Pointer 135.72 ns 220.23 ns +62.3%
Pointer_Walker_Schema_ISO_Language 1.47 ms 1.54 ms +4.5%
Pointer_Untracked_Deeply_Nested 1.27 ms 1.31 ms +3.4%
Pointer_Tracked_Deeply_Nested 1.73 ms 1.72 ms -0.6%
Pointer_Position_Tracker_Get_Deeply_Nested 630.86 ns 771.57 ns +22.3%
Schema_Tracker_ISO_Language 4.80 ms 4.64 ms -3.4%
Schema_Tracker_ISO_Language_To_JSON 16.02 ms 16.12 ms +0.6%
Schema_Frame_WoT_References 2.11 ms 2.10 ms -0.6%
Schema_Frame_OMC_References 10.60 ms 10.19 ms -3.9%
Schema_Frame_OMC_Pointers 18.33 ms 18.69 ms +1.9%
Schema_Frame_OMC_Locations 8.18 ms 8.58 ms +5.0%
Schema_Frame_ISO_Language_Locations 42.90 ms 43.55 ms +1.5%
Schema_Frame_ISO_Language_Root 247.99 ns 246.05 ns -0.8%
Schema_Frame_KrakenD_References 16.26 ms 17.07 ms +5.0%
Schema_Frame_KrakenD_Reachable 159.91 ms 158.94 ms -0.6%
Schema_Frame_ISO_Language_Locations_To_JSON 31.57 ms 30.91 ms -2.1%
Schema_Frame_Many_Resources_References 116.18 ms 119.25 ms +2.6%
Schema_Frame_Deeply_Nested_References 11.93 ms 11.93 ms -0.0%
Schema_Format_ISO_Language 49.08 ms 50.26 ms +2.4%
Schema_Bundle_Meta_2020_12 603.32 us 611.14 us +1.3%
Schema_Bundle_Many_Remotes_With_Fragments 6.80 ms 6.79 ms -0.1%
OpenAPI_Frame_GSMTasks_3_0 167.55 ms 165.48 ms -1.2%
OpenAPI_Format_Synthetic_3_1 55.66 ms 52.15 ms -6.3%
JSONPath_Descendant_Filter_Nested 1.69 us 1.70 us +0.4%
URITemplateRouter_Create 22.35 us 23.46 us +5.0%
URITemplateRouter_Match 177.24 ns 179.28 ns +1.2%
URITemplateRouterView_Restore 7.80 us 7.97 us +2.3%
URITemplateRouterView_Match 139.30 ns 142.87 ns +2.6%
URITemplateRouterView_Arguments 441.54 ns 444.34 ns +0.6%
URITemplateRouter_Match_BasePath 207.25 ns 205.87 ns -0.7%
URITemplateRouterView_Match_BasePath 161.53 ns 165.17 ns +2.3%
JSONL_Parse_Large 9.43 ms 9.53 ms +1.1%
JSONL_Parse_Large_GZIP 9.65 ms 9.72 ms +0.8%
JSONLD_Catalog_Annotation_List_Populate 606.82 us 598.96 us -1.3%
JSONLD_Catalog_Materialize 4.35 ms 3.65 ms -16.2%
HTML_Build_Table_100000 38.16 ms 38.01 ms -0.4%
HTML_Render_Table_100000 2.08 ms 1.92 ms -7.7%
Markdown_To_HTML_Realistic_Document 4.29 ms 4.15 ms -3.2%
Markdown_To_HTML_Pathological 12.95 ms 12.92 ms -0.2%
Markdown_To_HTML_Short_Descriptions 532.90 ns 525.64 ns -1.4%
GZIP_Compress_ISO_Language_Set_3_Locations 33.63 ms 33.49 ms -0.4%
GZIP_Decompress_ISO_Language_Set_3_Locations 5.14 ms 5.26 ms +2.3%
GZIP_Decompress_Default_Level_ISO_Language_Set_3_Locations 7.12 ms 7.11 ms -0.1%
GZIP_Decompress_Stream_Default_Level_ISO_Language_Set_3_Locations 9.86 ms 9.66 ms -2.0%
GZIP_Compress_ISO_Language_Set_3_Schema 2.07 ms 2.05 ms -0.6%
GZIP_Decompress_ISO_Language_Set_3_Schema 417.28 us 417.48 us +0.0%
JOSE_VerifySignature_RS256 46.31 us 46.52 us +0.4%
JOSE_VerifySignature_ES512 1.53 ms 1.54 ms +1.0%
Crypto_CRC32_Large_JSONL 101.83 us 102.01 us +0.2%
Crypto_AES_GCM_Encrypt_128_1KB 43.59 us 43.60 us +0.0%
Crypto_AES_GCM_Decrypt_128_1KB 43.53 us 43.57 us +0.1%
Crypto_AES_GCM_Encrypt_256_1KB 50.43 us 50.41 us -0.0%
Metapack_Parse_OMC_JSON_V2 6.85 ns 6.85 ns +0.1%
Metapack_Read_OMC_JSON_V2 380.97 us 381.79 us +0.2%
Metapack_Write_OMC_JSON_V2 1.02 ms 1.04 ms +1.5%

@github-actions

github-actions Bot commented Nov 2, 2026 •

Copy link
Copy Markdown

Benchmark linux/gcc

Measured against main at 54cf211.

4 slower, 5 faster, 131 within 5%.

Benchmark main This branch Change
JSON_Array_Of_Strings_Unique_Colliding_256 207.97 us 248.19 us +19.3%
Schema_Frame_ISO_Language_Locations 41.81 ms 44.87 ms +7.3%
JSON_String_Equal_10 5.73 ns 6.04 ns +5.4%
JSON_From_String_Temporary 9.23 ns 9.72 ns +5.2%
JSON_Parse_Object_Array_Properties 7.04 us 6.66 us -5.4%
JSON_Parse_Object_Object_Properties 6.92 us 6.52 us -5.7%
JSON_Parse_Nested_Containers 46.31 us 42.78 us -7.6%
Regex_Caret_Slash_Period_Asterisk 6.54 ns 5.37 ns -17.9%
Regex_Caret_Period_Range_Dollar 3.71 ns 2.72 ns -26.5%
All 140 benchmarks
Benchmark main This branch Change
Metapack_Parse_OMC_JSON_V2 2.36 ns 2.36 ns +0.1%
Metapack_Read_OMC_JSON_V2 458.51 us 454.86 us -0.8%
Metapack_Write_OMC_JSON_V2 773.37 us 753.80 us -2.5%
Crypto_CRC32_Large_JSONL 101.78 us 101.80 us +0.0%
Crypto_AES_GCM_Encrypt_128_1KB 1.01 us 1.01 us -0.4%
Crypto_AES_GCM_Decrypt_128_1KB 1.00 us 1.00 us -0.1%
Crypto_AES_GCM_Encrypt_256_1KB 1.06 us 1.04 us -2.0%
JOSE_VerifySignature_RS256 21.09 us 21.05 us -0.2%
JOSE_VerifySignature_ES512 600.41 us 598.44 us -0.3%
GZIP_Compress_ISO_Language_Set_3_Locations 29.84 ms 29.94 ms +0.3%
GZIP_Decompress_ISO_Language_Set_3_Locations 5.11 ms 5.05 ms -1.1%
GZIP_Decompress_Default_Level_ISO_Language_Set_3_Locations 7.02 ms 7.02 ms -0.0%
GZIP_Decompress_Stream_Default_Level_ISO_Language_Set_3_Locations 9.06 ms 8.80 ms -2.9%
GZIP_Compress_ISO_Language_Set_3_Schema 2.03 ms 2.03 ms -0.0%
GZIP_Decompress_ISO_Language_Set_3_Schema 420.02 us 418.73 us -0.3%
Markdown_To_HTML_Realistic_Document 4.26 ms 4.27 ms +0.2%
Markdown_To_HTML_Pathological 13.68 ms 13.73 ms +0.3%
Markdown_To_HTML_Short_Descriptions 556.26 ns 568.88 ns +2.3%
HTML_Build_Table_100000 45.73 ms 45.74 ms +0.0%
HTML_Render_Table_100000 1.83 ms 1.83 ms +0.0%
JSONLD_Catalog_Annotation_List_Populate 682.63 us 677.95 us -0.7%
JSONLD_Catalog_Materialize 3.60 ms 3.58 ms -0.5%
JSONL_Parse_Large 10.40 ms 10.35 ms -0.4%
JSONL_Parse_Large_GZIP 10.56 ms 10.57 ms +0.1%
URITemplateRouter_Create 22.53 us 22.59 us +0.3%
URITemplateRouter_Match 160.44 ns 160.48 ns +0.0%
URITemplateRouterView_Restore 7.53 us 7.85 us +4.3%
URITemplateRouterView_Match 133.76 ns 129.92 ns -2.9%
URITemplateRouterView_Arguments 843.13 ns 843.20 ns +0.0%
URITemplateRouter_Match_BasePath 186.81 ns 186.63 ns -0.1%
URITemplateRouterView_Match_BasePath 153.99 ns 153.98 ns -0.0%
JSONPath_Descendant_Filter_Nested 1.98 us 1.95 us -1.6%
OpenAPI_Frame_GSMTasks_3_0 147.13 ms 148.73 ms +1.1%
OpenAPI_Format_Synthetic_3_1 49.20 ms 49.70 ms +1.0%
Schema_Frame_WoT_References 2.12 ms 2.13 ms +0.5%
Schema_Frame_OMC_References 9.34 ms 9.39 ms +0.5%
Schema_Frame_OMC_Pointers 17.95 ms 17.79 ms -0.9%
Schema_Frame_OMC_Locations 7.95 ms 8.15 ms +2.5%
Schema_Frame_ISO_Language_Locations 41.81 ms 44.87 ms +7.3%
Schema_Frame_ISO_Language_Root 294.67 ns 293.47 ns -0.4%
Schema_Frame_KrakenD_References 15.17 ms 15.42 ms +1.6%
Schema_Frame_KrakenD_Reachable 145.27 ms 146.33 ms +0.7%
Schema_Frame_ISO_Language_Locations_To_JSON 32.73 ms 31.33 ms -4.3%
Schema_Frame_Many_Resources_References 114.43 ms 116.99 ms +2.2%
Schema_Frame_Deeply_Nested_References 10.92 ms 11.01 ms +0.8%
Schema_Format_ISO_Language 48.34 ms 47.75 ms -1.2%
Schema_Bundle_Meta_2020_12 650.28 us 646.24 us -0.6%
Schema_Bundle_Many_Remotes_With_Fragments 6.78 ms 6.73 ms -0.8%
Pointer_Object_Traverse 14.72 ns 14.67 ns -0.4%
Pointer_Object_Try_Traverse 24.41 ns 24.41 ns +0.0%
Pointer_Object_Traverse_Single_Property 5.53 ns 5.54 ns +0.1%
Pointer_Object_Try_Traverse_Single_Property 6.63 ns 6.63 ns -0.0%
Pointer_Push_Back_Pointer_To_Weak_Pointer 121.87 ns 121.17 ns -0.6%
Pointer_Walker_Schema_ISO_Language 1.45 ms 1.44 ms -0.4%
Pointer_Untracked_Deeply_Nested 1.56 ms 1.57 ms +0.2%
Pointer_Tracked_Deeply_Nested 2.42 ms 2.42 ms +0.2%
Pointer_Position_Tracker_Get_Deeply_Nested 637.11 ns 632.18 ns -0.8%
Schema_Tracker_ISO_Language 5.28 ms 5.28 ms -0.1%
Schema_Tracker_ISO_Language_To_JSON 15.99 ms 16.22 ms +1.4%
JSON_Array_Of_Objects_Unique 427.84 ns 425.78 ns -0.5%
JSON_Array_Of_Integers_Unique_256 3.81 us 3.78 us -0.7%
JSON_Array_Of_Strings_Unique_Colliding_256 207.97 us 248.19 us +19.3%
JSON_Parse_1 5.73 us 5.76 us +0.5%
JSON_Parse_Real 5.29 us 5.29 us -0.1%
JSON_Parse_Real_Inexact 5.96 us 5.96 us +0.0%
JSON_Parse_Decimal 10.44 us 10.42 us -0.2%
JSON_Parse_Schema_ISO_Language 3.86 ms 3.79 ms -1.9%
JSON_Parse_KrakenD 1.52 ms 1.48 ms -2.7%
JSON_Stringify_ISO_Language 2.50 ms 2.50 ms -0.1%
JSON_Prettify_KrakenD 1.99 ms 1.99 ms +0.4%
JSON_Parse_Integer 4.71 us 4.71 us -0.2%
JSON_Parse_String_NonSSO_Plain 3.96 us 3.97 us +0.4%
JSON_Parse_String_SSO_Plain 3.20 us 3.20 us +0.0%
JSON_Parse_String_Escape_Heavy 19.06 us 19.03 us -0.2%
JSON_Parse_Object_Short_Keys 11.11 us 10.95 us -1.4%
JSON_Parse_Object_Scalar_Properties 5.62 us 5.56 us -1.1%
JSON_Parse_Object_Array_Properties 7.04 us 6.66 us -5.4%
JSON_Parse_Object_Object_Properties 6.92 us 6.52 us -5.7%
JSON_Parse_Nested_Containers 46.31 us 42.78 us -7.6%
JSON_Fast_Hash_Helm_Chart_Lock 70.28 ns 70.83 ns +0.8%
JSON_Equality_Helm_Chart_Lock 165.18 ns 165.42 ns +0.1%
JSON_String_Equal_10 5.73 ns 6.04 ns +5.4%
JSON_String_Equal_100 6.32 ns 6.62 ns +4.8%
JSON_String_Equal_Small_By_Perfect_Hash_10 0.62 ns 0.62 ns -0.0%
JSON_String_Equal_Small_By_Runtime_Perfect_Hash_10 14.63 ns 14.63 ns -0.0%
JSON_String_Fast_Hash_10 2.57 ns 2.57 ns -0.1%
JSON_String_Fast_Hash_100 2.57 ns 2.57 ns -0.0%
JSON_String_Key_Hash_10 2.61 ns 2.61 ns +0.0%
JSON_String_Key_Hash_100 2.30 ns 2.30 ns -0.0%
JSON_Object_Defines_Miss_Same_Length 3.13 ns 3.12 ns -0.2%
JSON_Object_Defines_Miss_Same_Length_32 11.90 ns 11.88 ns -0.1%
JSON_Object_Defines_Miss_Same_Length_128 46.49 ns 46.45 ns -0.1%
JSON_Object_Defines_Miss_Too_Small 3.12 ns 3.12 ns -0.2%
JSON_Object_Defines_Miss_Too_Large 3.12 ns 3.12 ns -0.1%
JSON_From_String_Copy 11.03 ns 11.35 ns +3.0%
JSON_From_String_Temporary 9.23 ns 9.72 ns +5.2%
JSON_Number_To_Double 28.36 ns 28.35 ns -0.0%
JSON_Object_At_Last_Key_8 3.12 ns 3.12 ns -0.1%
JSON_Object_At_Last_Key_32 11.24 ns 11.23 ns -0.0%
JSON_Object_At_Last_Key_128 57.24 ns 57.17 ns -0.1%
JSON_Object_At_Last_Key_512 265.06 ns 266.34 ns +0.5%
JSON_Object_At_Only_Key_1 1.25 ns 1.25 ns -0.1%
JSON_Object_At_Key_3 1.60 ns 1.60 ns +0.3%
JSON_Object_At_First_Key_8 1.25 ns 1.25 ns +0.1%
JSON_Object_At_First_Key_32 1.25 ns 1.25 ns -0.0%
JSON_Object_At_First_Key_128 1.25 ns 1.25 ns -0.0%
JSON_Object_At_First_Key_512 1.25 ns 1.25 ns +0.0%
JSON_Object_Iterate_32 10.30 ns 10.29 ns -0.1%
JSON_Object_Iterate_128 59.39 ns 59.34 ns -0.1%
JSON_Object_Defines_All_Present_K2_W8 6.45 ns 6.54 ns +1.4%
JSON_Object_Defines_All_Present_K8_W32 66.52 ns 66.54 ns +0.0%
JSON_Object_Defines_All_Present_K8_W128 228.62 ns 228.54 ns -0.0%
JSON_Object_Defines_All_Present_K32_W128 1.06 us 1.06 us -0.2%
JSON_Object_Try_At_Sequential_NoHint_32 281.45 ns 280.81 ns -0.2%
JSON_Object_Try_At_Sequential_Hint_32 84.92 ns 84.80 ns -0.1%
JSON_Object_At_Key_Sorted_Order_32 374.43 ns 374.59 ns +0.0%
JSON_Object_Try_At_Sorted_Order_Hint_32 618.80 ns 616.53 ns -0.4%
JSON_Divisible_By_Decimal 365.70 ns 368.87 ns +0.9%
JSON_PropertySet_Contains 42.14 ns 42.09 ns -0.1%
JSON_PropertySet_Filter_Object_Properties 37.04 ns 37.06 ns +0.1%
JSON_PropertySet_Insert 435.12 ns 434.66 ns -0.1%
JSON_Stringify_Schema_Web_Of_Things 60.21 us 60.73 us +0.9%
JSON_Prettify_Schema_Web_Of_Things 166.01 us 166.98 us +0.6%
Regex_Lower_S_Or_Upper_S_Asterisk 1.87 ns 1.87 ns -0.0%
Regex_Caret_Lower_S_Or_Upper_S_Asterisk_Dollar 1.79 ns 1.79 ns -0.0%
Regex_Period_Asterisk 1.87 ns 1.87 ns -0.0%
Regex_Group_Period_Asterisk_Group 1.79 ns 1.79 ns -0.0%
Regex_Period_Plus 1.87 ns 1.87 ns -0.1%
Regex_Period 1.79 ns 1.79 ns -0.0%
Regex_Caret_Period_Plus_Dollar 1.87 ns 1.87 ns +0.1%
Regex_Caret_Group_Period_Plus_Group_Dollar 1.79 ns 1.79 ns -0.0%
Regex_Caret_Period_Asterisk_Dollar 1.87 ns 1.87 ns -0.1%
Regex_Caret_Group_Period_Asterisk_Group_Dollar 1.79 ns 1.79 ns -0.1%
Regex_Caret_X_Hyphen 4.99 ns 4.99 ns -0.0%
Regex_Period_Md_Dollar 30.18 ns 28.95 ns -4.1%
Regex_Caret_Slash_Period_Asterisk 6.54 ns 5.37 ns -17.9%
Regex_Caret_Period_Range_Dollar 3.71 ns 2.72 ns -26.5%
Regex_Nested_Backtrack 40.92 ns 39.81 ns -2.7%
MCP_Validate_Headers_64 18.10 us 17.96 us -0.8%
MCP_Intersect_Disjoint_512 797.71 us 798.02 us +0.0%

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

github-actions Bot commented Nov 2, 2026

Copy link
Copy Markdown

Benchmark macos/llvm

Measured against main at 54cf211.

4 slower, 58 faster, 78 within 5%.

Benchmark main This branch Change
URITemplateRouterView_Arguments 463.26 ns 502.29 ns +8.4%
Schema_Frame_ISO_Language_Locations 20.11 ms 21.41 ms +6.5%
JSON_Object_Defines_All_Present_K8_W128 228.00 ns 242.03 ns +6.2%
JSONLD_Catalog_Materialize 1.95 ms 2.05 ms +5.3%
JSON_Parse_KrakenD 776.84 us 737.92 us -5.0%
JSON_Array_Of_Objects_Unique 344.02 ns 326.29 ns -5.2%
JSON_Divisible_By_Decimal 234.47 ns 222.38 ns -5.2%
JSON_Prettify_Schema_Web_Of_Things 154.59 us 146.61 us -5.2%
JSON_Object_At_First_Key_8 0.98 ns 0.93 ns -5.2%
HTML_Build_Table_100000 24.70 ms 23.41 ms -5.2%
JSON_String_Equal_Small_By_Perfect_Hash_10 0.76 ns 0.72 ns -5.4%
Pointer_Object_Try_Traverse 18.50 ns 17.49 ns -5.4%
JOSE_VerifySignature_RS256 22.37 us 21.11 us -5.6%
GZIP_Compress_ISO_Language_Set_3_Locations 26.74 ms 25.23 ms -5.7%
JSON_Object_Defines_Miss_Same_Length 2.64 ns 2.49 ns -5.9%
GZIP_Decompress_ISO_Language_Set_3_Locations 2.83 ms 2.66 ms -5.9%
JSON_Parse_Nested_Containers 23.55 us 22.13 us -6.0%
Markdown_To_HTML_Pathological 8.84 ms 8.30 ms -6.0%
JSON_Parse_Object_Short_Keys 4.73 us 4.45 us -6.1%
MCP_Validate_Headers_64 19.12 us 17.89 us -6.4%
Pointer_Object_Try_Traverse_Single_Property 6.04 ns 5.65 ns -6.5%
JSON_Object_Try_At_Sequential_NoHint_32 269.07 ns 251.11 ns -6.7%
Regex_Period_Plus 1.66 ns 1.55 ns -6.8%
JSON_Number_To_Double 9.13 ns 8.50 ns -6.9%
JSON_Object_At_Last_Key_32 11.60 ns 10.80 ns -6.9%
JSON_Parse_Integer 2.53 us 2.35 us -6.9%
JSON_PropertySet_Contains 47.50 ns 44.16 ns -7.0%
GZIP_Decompress_ISO_Language_Set_3_Schema 293.44 us 272.78 us -7.0%
Markdown_To_HTML_Short_Descriptions 302.66 ns 281.30 ns -7.1%
Regex_Caret_X_Hyphen 5.80 ns 5.37 ns -7.3%
Regex_Caret_Group_Period_Plus_Group_Dollar 1.68 ns 1.56 ns -7.5%
Regex_Period_Md_Dollar 17.17 ns 15.87 ns -7.6%
Regex_Nested_Backtrack 26.79 ns 24.74 ns -7.7%
JSON_Object_Try_At_Sorted_Order_Hint_32 485.98 ns 448.38 ns -7.7%
JSON_String_Key_Hash_10 1.31 ns 1.20 ns -7.8%
JSON_Object_At_Last_Key_128 55.07 ns 50.75 ns -7.8%
JSON_From_String_Copy 10.38 ns 9.54 ns -8.1%
JSON_String_Equal_100 6.56 ns 6.03 ns -8.1%
JSON_Object_Try_At_Sequential_Hint_32 54.55 ns 50.13 ns -8.1%
JSON_String_Fast_Hash_10 1.99 ns 1.82 ns -8.3%
JSON_Parse_String_SSO_Plain 1.75 us 1.61 us -8.3%
JSON_Prettify_KrakenD 1.84 ms 1.69 ms -8.4%
JSON_String_Equal_Small_By_Runtime_Perfect_Hash_10 3.18 ns 2.92 ns -8.4%
JSON_String_Fast_Hash_100 1.66 ns 1.52 ns -8.4%
JSON_Parse_String_NonSSO_Plain 3.04 us 2.78 us -8.6%
Schema_Bundle_Meta_2020_12 455.25 us 416.10 us -8.6%
Crypto_CRC32_Large_JSONL 20.86 us 19.00 us -8.9%
JSON_Object_At_First_Key_512 1.04 ns 0.95 ns -9.0%
JSON_String_Key_Hash_100 2.01 ns 1.83 ns -9.2%
Regex_Caret_Group_Period_Asterisk_Group_Dollar 1.68 ns 1.53 ns -9.3%
Regex_Caret_Period_Asterisk_Dollar 1.66 ns 1.51 ns -9.3%
Pointer_Object_Traverse 12.88 ns 11.66 ns -9.5%
JSON_Parse_String_Escape_Heavy 16.51 us 14.93 us -9.6%
Regex_Lower_S_Or_Upper_S_Asterisk 1.71 ns 1.54 ns -9.9%
MCP_Intersect_Disjoint_512 379.83 us 341.75 us -10.0%
Regex_Caret_Period_Plus_Dollar 1.69 ns 1.51 ns -10.6%
Metapack_Write_OMC_JSON_V2 593.79 us 521.79 us -12.1%
Crypto_AES_GCM_Encrypt_128_1KB 3.45 us 3.03 us -12.4%
Regex_Caret_Period_Range_Dollar 2.13 ns 1.81 ns -15.1%
GZIP_Compress_ISO_Language_Set_3_Schema 1.89 ms 1.54 ms -18.1%
Regex_Caret_Slash_Period_Asterisk 5.12 ns 4.18 ns -18.4%
Pointer_Object_Traverse_Single_Property 8.39 ns 5.53 ns -34.0%
All 140 benchmarks
Benchmark main This branch Change
MCP_Validate_Headers_64 19.12 us 17.89 us -6.4%
MCP_Intersect_Disjoint_512 379.83 us 341.75 us -10.0%
Regex_Lower_S_Or_Upper_S_Asterisk 1.71 ns 1.54 ns -9.9%
Regex_Caret_Lower_S_Or_Upper_S_Asterisk_Dollar 1.61 ns 1.56 ns -3.6%
Regex_Period_Asterisk 1.60 ns 1.56 ns -2.1%
Regex_Group_Period_Asterisk_Group 1.57 ns 1.55 ns -0.8%
Regex_Period_Plus 1.66 ns 1.55 ns -6.8%
Regex_Period 1.61 ns 1.54 ns -4.2%
Regex_Caret_Period_Plus_Dollar 1.69 ns 1.51 ns -10.6%
Regex_Caret_Group_Period_Plus_Group_Dollar 1.68 ns 1.56 ns -7.5%
Regex_Caret_Period_Asterisk_Dollar 1.66 ns 1.51 ns -9.3%
Regex_Caret_Group_Period_Asterisk_Group_Dollar 1.68 ns 1.53 ns -9.3%
Regex_Caret_X_Hyphen 5.80 ns 5.37 ns -7.3%
Regex_Period_Md_Dollar 17.17 ns 15.87 ns -7.6%
Regex_Caret_Slash_Period_Asterisk 5.12 ns 4.18 ns -18.4%
Regex_Caret_Period_Range_Dollar 2.13 ns 1.81 ns -15.1%
Regex_Nested_Backtrack 26.79 ns 24.74 ns -7.7%
JSON_Array_Of_Objects_Unique 344.02 ns 326.29 ns -5.2%
JSON_Array_Of_Integers_Unique_256 4.60 us 4.39 us -4.4%
JSON_Array_Of_Strings_Unique_Colliding_256 157.16 us 159.45 us +1.5%
JSON_Parse_1 2.77 us 2.82 us +1.8%
JSON_Parse_Real 2.84 us 2.80 us -1.6%
JSON_Parse_Real_Inexact 2.81 us 2.78 us -1.0%
JSON_Parse_Decimal 4.97 us 4.88 us -1.8%
JSON_Parse_Schema_ISO_Language 1.97 ms 1.99 ms +0.5%
JSON_Parse_KrakenD 776.84 us 737.92 us -5.0%
JSON_Stringify_ISO_Language 2.40 ms 2.44 ms +1.6%
JSON_Prettify_KrakenD 1.84 ms 1.69 ms -8.4%
JSON_Parse_Integer 2.53 us 2.35 us -6.9%
JSON_Parse_String_NonSSO_Plain 3.04 us 2.78 us -8.6%
JSON_Parse_String_SSO_Plain 1.75 us 1.61 us -8.3%
JSON_Parse_String_Escape_Heavy 16.51 us 14.93 us -9.6%
JSON_Parse_Object_Short_Keys 4.73 us 4.45 us -6.1%
JSON_Parse_Object_Scalar_Properties 2.33 us 2.39 us +2.4%
JSON_Parse_Object_Array_Properties 3.01 us 2.93 us -2.6%
JSON_Parse_Object_Object_Properties 3.10 us 3.02 us -2.5%
JSON_Parse_Nested_Containers 23.55 us 22.13 us -6.0%
JSON_Fast_Hash_Helm_Chart_Lock 46.77 ns 49.08 ns +4.9%
JSON_Equality_Helm_Chart_Lock 126.21 ns 127.94 ns +1.4%
JSON_String_Equal_10 6.50 ns 6.33 ns -2.6%
JSON_String_Equal_100 6.56 ns 6.03 ns -8.1%
JSON_String_Equal_Small_By_Perfect_Hash_10 0.76 ns 0.72 ns -5.4%
JSON_String_Equal_Small_By_Runtime_Perfect_Hash_10 3.18 ns 2.92 ns -8.4%
JSON_String_Fast_Hash_10 1.99 ns 1.82 ns -8.3%
JSON_String_Fast_Hash_100 1.66 ns 1.52 ns -8.4%
JSON_String_Key_Hash_10 1.31 ns 1.20 ns -7.8%
JSON_String_Key_Hash_100 2.01 ns 1.83 ns -9.2%
JSON_Object_Defines_Miss_Same_Length 2.64 ns 2.49 ns -5.9%
JSON_Object_Defines_Miss_Same_Length_32 14.06 ns 14.29 ns +1.7%
JSON_Object_Defines_Miss_Same_Length_128 64.01 ns 62.26 ns -2.7%
JSON_Object_Defines_Miss_Too_Small 2.64 ns 2.59 ns -2.0%
JSON_Object_Defines_Miss_Too_Large 2.57 ns 2.44 ns -4.8%
JSON_From_String_Copy 10.38 ns 9.54 ns -8.1%
JSON_From_String_Temporary 4.83 ns 4.67 ns -3.3%
JSON_Number_To_Double 9.13 ns 8.50 ns -6.9%
JSON_Object_At_Last_Key_8 3.44 ns 3.32 ns -3.6%
JSON_Object_At_Last_Key_32 11.60 ns 10.80 ns -6.9%
JSON_Object_At_Last_Key_128 55.07 ns 50.75 ns -7.8%
JSON_Object_At_Last_Key_512 182.92 ns 176.60 ns -3.5%
JSON_Object_At_Only_Key_1 0.96 ns 0.94 ns -2.3%
JSON_Object_At_Key_3 1.89 ns 1.85 ns -1.9%
JSON_Object_At_First_Key_8 0.98 ns 0.93 ns -5.2%
JSON_Object_At_First_Key_32 0.93 ns 0.92 ns -0.8%
JSON_Object_At_First_Key_128 0.92 ns 0.96 ns +4.1%
JSON_Object_At_First_Key_512 1.04 ns 0.95 ns -9.0%
JSON_Object_Iterate_32 11.43 ns 11.33 ns -0.8%
JSON_Object_Iterate_128 57.47 ns 59.78 ns +4.0%
JSON_Object_Defines_All_Present_K2_W8 5.91 ns 5.81 ns -1.6%
JSON_Object_Defines_All_Present_K8_W32 58.51 ns 56.18 ns -4.0%
JSON_Object_Defines_All_Present_K8_W128 228.00 ns 242.03 ns +6.2%
JSON_Object_Defines_All_Present_K32_W128 1.07 us 1.09 us +2.0%
JSON_Object_Try_At_Sequential_NoHint_32 269.07 ns 251.11 ns -6.7%
JSON_Object_Try_At_Sequential_Hint_32 54.55 ns 50.13 ns -8.1%
JSON_Object_At_Key_Sorted_Order_32 207.86 ns 200.84 ns -3.4%
JSON_Object_Try_At_Sorted_Order_Hint_32 485.98 ns 448.38 ns -7.7%
JSON_Divisible_By_Decimal 234.47 ns 222.38 ns -5.2%
JSON_PropertySet_Contains 47.50 ns 44.16 ns -7.0%
JSON_PropertySet_Filter_Object_Properties 33.65 ns 32.00 ns -4.9%
JSON_PropertySet_Insert 279.34 ns 276.13 ns -1.1%
JSON_Stringify_Schema_Web_Of_Things 59.56 us 62.16 us +4.4%
JSON_Prettify_Schema_Web_Of_Things 154.59 us 146.61 us -5.2%
Pointer_Object_Traverse 12.88 ns 11.66 ns -9.5%
Pointer_Object_Try_Traverse 18.50 ns 17.49 ns -5.4%
Pointer_Object_Traverse_Single_Property 8.39 ns 5.53 ns -34.0%
Pointer_Object_Try_Traverse_Single_Property 6.04 ns 5.65 ns -6.5%
Pointer_Push_Back_Pointer_To_Weak_Pointer 137.90 ns 135.05 ns -2.1%
Pointer_Walker_Schema_ISO_Language 1.17 ms 1.20 ms +2.2%
Pointer_Untracked_Deeply_Nested 819.38 us 779.22 us -4.9%
Pointer_Tracked_Deeply_Nested 987.96 us 975.50 us -1.3%
Pointer_Position_Tracker_Get_Deeply_Nested 330.05 ns 317.63 ns -3.8%
Schema_Tracker_ISO_Language 2.78 ms 2.70 ms -3.0%
Schema_Tracker_ISO_Language_To_JSON 10.58 ms 10.64 ms +0.6%
Schema_Frame_WoT_References 1.71 ms 1.73 ms +0.9%
Schema_Frame_OMC_References 8.19 ms 8.59 ms +4.8%
Schema_Frame_OMC_Pointers 16.26 ms 16.30 ms +0.2%
Schema_Frame_OMC_Locations 6.83 ms 6.94 ms +1.7%
Schema_Frame_ISO_Language_Locations 20.11 ms 21.41 ms +6.5%
Schema_Frame_ISO_Language_Root 113.32 ns 111.49 ns -1.6%
Schema_Frame_KrakenD_References 12.98 ms 13.61 ms +4.9%
Schema_Frame_KrakenD_Reachable 161.85 ms 160.90 ms -0.6%
Schema_Frame_ISO_Language_Locations_To_JSON 20.85 ms 20.69 ms -0.8%
Schema_Frame_Many_Resources_References 80.05 ms 80.59 ms +0.7%
Schema_Frame_Deeply_Nested_References 11.58 ms 11.41 ms -1.5%
Schema_Format_ISO_Language 22.49 ms 23.16 ms +3.0%
Schema_Bundle_Meta_2020_12 455.25 us 416.10 us -8.6%
Schema_Bundle_Many_Remotes_With_Fragments 5.08 ms 5.03 ms -1.2%
OpenAPI_Frame_GSMTasks_3_0 148.59 ms 142.39 ms -4.2%
OpenAPI_Format_Synthetic_3_1 40.49 ms 40.94 ms +1.1%
JSONPath_Descendant_Filter_Nested 1.19 us 1.18 us -0.4%
URITemplateRouter_Create 17.11 us 17.04 us -0.4%
URITemplateRouter_Match 165.14 ns 161.79 ns -2.0%
URITemplateRouterView_Restore 8.58 us 8.86 us +3.2%
URITemplateRouterView_Match 112.35 ns 115.74 ns +3.0%
URITemplateRouterView_Arguments 463.26 ns 502.29 ns +8.4%
URITemplateRouter_Match_BasePath 182.59 ns 182.30 ns -0.2%
URITemplateRouterView_Match_BasePath 136.41 ns 135.88 ns -0.4%
JSONL_Parse_Large 5.60 ms 5.82 ms +3.9%
JSONL_Parse_Large_GZIP 5.99 ms 5.86 ms -2.2%
JSONLD_Catalog_Annotation_List_Populate 445.05 us 447.32 us +0.5%
JSONLD_Catalog_Materialize 1.95 ms 2.05 ms +5.3%
HTML_Build_Table_100000 24.70 ms 23.41 ms -5.2%
HTML_Render_Table_100000 918.48 us 926.34 us +0.9%
Markdown_To_HTML_Realistic_Document 2.88 ms 2.77 ms -3.6%
Markdown_To_HTML_Pathological 8.84 ms 8.30 ms -6.0%
Markdown_To_HTML_Short_Descriptions 302.66 ns 281.30 ns -7.1%
GZIP_Compress_ISO_Language_Set_3_Locations 26.74 ms 25.23 ms -5.7%
GZIP_Decompress_ISO_Language_Set_3_Locations 2.83 ms 2.66 ms -5.9%
GZIP_Decompress_Default_Level_ISO_Language_Set_3_Locations 3.78 ms 3.96 ms +4.6%
GZIP_Decompress_Stream_Default_Level_ISO_Language_Set_3_Locations 4.74 ms 4.68 ms -1.3%
GZIP_Compress_ISO_Language_Set_3_Schema 1.89 ms 1.54 ms -18.1%
GZIP_Decompress_ISO_Language_Set_3_Schema 293.44 us 272.78 us -7.0%
JOSE_VerifySignature_RS256 22.37 us 21.11 us -5.6%
JOSE_VerifySignature_ES512 822.41 us 788.37 us -4.1%
Crypto_CRC32_Large_JSONL 20.86 us 19.00 us -8.9%
Crypto_AES_GCM_Encrypt_128_1KB 3.45 us 3.03 us -12.4%
Crypto_AES_GCM_Decrypt_128_1KB 3.24 us 3.11 us -4.1%
Crypto_AES_GCM_Encrypt_256_1KB 3.19 us 3.14 us -1.8%
Metapack_Parse_OMC_JSON_V2 1.29 ns 1.24 ns -4.3%
Metapack_Read_OMC_JSON_V2 249.06 us 248.37 us -0.3%
Metapack_Write_OMC_JSON_V2 593.79 us 521.79 us -12.1%

@github-actions

github-actions Bot commented Nov 2, 2026

Copy link
Copy Markdown

Benchmark windows/msvc

Measured against main at 54cf211.

10 slower, 10 faster, 120 within 5%.

Benchmark main This branch Change
JSON_Array_Of_Objects_Unique 560.87 ns 861.45 ns +53.6%
JSON_PropertySet_Insert 1.29 us 1.63 us +25.8%
JSON_Fast_Hash_Helm_Chart_Lock 114.29 ns 136.51 ns +19.4%
Regex_Period_Md_Dollar 51.84 ns 61.45 ns +18.6%
JSONLD_Catalog_Materialize 8.66 ms 9.66 ms +11.5%
Schema_Frame_ISO_Language_Locations_To_JSON 168.63 ms 182.29 ms +8.1%
Schema_Frame_KrakenD_References 41.99 ms 45.33 ms +7.9%
JSON_Parse_String_Escape_Heavy 21.42 us 22.80 us +6.5%
Markdown_To_HTML_Realistic_Document 5.87 ms 6.25 ms +6.4%
JSON_Object_Iterate_32 32.51 ns 34.32 ns +5.6%
Schema_Frame_OMC_Locations 20.81 ms 19.71 ms -5.3%
Schema_Frame_OMC_References 24.35 ms 22.82 ms -6.3%
JSON_From_String_Temporary 91.83 ns 85.30 ns -7.1%
Pointer_Push_Back_Pointer_To_Weak_Pointer 179.37 ns 164.77 ns -8.1%
JSON_Parse_Decimal 13.95 us 12.66 us -9.3%
JSON_Divisible_By_Decimal 449.80 ns 407.05 ns -9.5%
JSON_Parse_Real_Inexact 8.05 us 7.25 us -9.9%
Pointer_Untracked_Deeply_Nested 2.68 ms 2.40 ms -10.4%
JSON_Array_Of_Integers_Unique_256 7.02 us 6.24 us -11.0%
Schema_Frame_Deeply_Nested_References 26.35 ms 21.68 ms -17.7%
All 140 benchmarks
Benchmark main This branch Change
MCP_Validate_Headers_64 30.79 us 30.28 us -1.7%
MCP_Intersect_Disjoint_512 1.04 ms 1.02 ms -1.6%
Regex_Lower_S_Or_Upper_S_Asterisk 4.96 ns 4.96 ns +0.1%
Regex_Caret_Lower_S_Or_Upper_S_Asterisk_Dollar 4.95 ns 4.95 ns -0.0%
Regex_Period_Asterisk 4.96 ns 4.96 ns -0.0%
Regex_Group_Period_Asterisk_Group 4.96 ns 4.96 ns +0.1%
Regex_Period_Plus 4.61 ns 4.60 ns -0.1%
Regex_Period 4.60 ns 4.61 ns +0.1%
Regex_Caret_Period_Plus_Dollar 4.60 ns 4.61 ns +0.1%
Regex_Caret_Group_Period_Plus_Group_Dollar 4.61 ns 4.60 ns -0.2%
Regex_Caret_Period_Asterisk_Dollar 4.95 ns 4.96 ns +0.2%
Regex_Caret_Group_Period_Asterisk_Group_Dollar 4.95 ns 4.97 ns +0.2%
Regex_Caret_X_Hyphen 7.78 ns 7.94 ns +2.1%
Regex_Period_Md_Dollar 51.84 ns 61.45 ns +18.6%
Regex_Caret_Slash_Period_Asterisk 7.44 ns 7.44 ns -0.0%
Regex_Caret_Period_Range_Dollar 5.33 ns 5.33 ns -0.1%
Regex_Nested_Backtrack 76.48 ns 79.81 ns +4.4%
JSON_Array_Of_Objects_Unique 560.87 ns 861.45 ns +53.6%
JSON_Array_Of_Integers_Unique_256 7.02 us 6.24 us -11.0%
JSON_Array_Of_Strings_Unique_Colliding_256 270.36 us 270.06 us -0.1%
JSON_Parse_1 9.16 us 9.06 us -1.0%
JSON_Parse_Real 7.65 us 7.52 us -1.6%
JSON_Parse_Real_Inexact 8.05 us 7.25 us -9.9%
JSON_Parse_Decimal 13.95 us 12.66 us -9.3%
JSON_Parse_Schema_ISO_Language 8.15 ms 8.40 ms +3.0%
JSON_Parse_KrakenD 2.58 ms 2.48 ms -4.0%
JSON_Stringify_ISO_Language 10.06 ms 10.46 ms +4.0%
JSON_Prettify_KrakenD 7.71 ms 7.76 ms +0.7%
JSON_Parse_Integer 6.68 us 6.64 us -0.6%
JSON_Parse_String_NonSSO_Plain 8.20 us 8.51 us +3.7%
JSON_Parse_String_SSO_Plain 3.98 us 4.08 us +2.7%
JSON_Parse_String_Escape_Heavy 21.42 us 22.80 us +6.5%
JSON_Parse_Object_Short_Keys 14.23 us 13.81 us -2.9%
JSON_Parse_Object_Scalar_Properties 7.28 us 7.06 us -3.1%
JSON_Parse_Object_Array_Properties 11.60 us 11.64 us +0.4%
JSON_Parse_Object_Object_Properties 11.46 us 11.56 us +0.8%
JSON_Parse_Nested_Containers 83.47 us 83.23 us -0.3%
JSON_Fast_Hash_Helm_Chart_Lock 114.29 ns 136.51 ns +19.4%
JSON_Equality_Helm_Chart_Lock 203.61 ns 205.37 ns +0.9%
JSON_String_Equal_10 9.94 ns 9.93 ns -0.1%
JSON_String_Equal_100 11.34 ns 11.33 ns -0.1%
JSON_String_Equal_Small_By_Perfect_Hash_10 2.58 ns 2.48 ns -3.8%
JSON_String_Equal_Small_By_Runtime_Perfect_Hash_10 13.13 ns 13.43 ns +2.3%
JSON_String_Fast_Hash_10 6.38 ns 6.37 ns -0.2%
JSON_String_Fast_Hash_100 6.39 ns 6.37 ns -0.3%
JSON_String_Key_Hash_10 5.31 ns 5.32 ns +0.2%
JSON_String_Key_Hash_100 6.01 ns 6.02 ns +0.2%
JSON_Object_Defines_Miss_Same_Length 3.90 ns 3.89 ns -0.2%
JSON_Object_Defines_Miss_Same_Length_32 35.93 ns 36.16 ns +0.6%
JSON_Object_Defines_Miss_Same_Length_128 93.53 ns 93.92 ns +0.4%
JSON_Object_Defines_Miss_Too_Small 3.90 ns 3.90 ns +0.0%
JSON_Object_Defines_Miss_Too_Large 3.90 ns 3.90 ns -0.1%
JSON_From_String_Copy 63.10 ns 62.61 ns -0.8%
JSON_From_String_Temporary 91.83 ns 85.30 ns -7.1%
JSON_Number_To_Double 70.72 ns 68.98 ns -2.5%
JSON_Object_At_Last_Key_8 7.14 ns 7.07 ns -0.9%
JSON_Object_At_Last_Key_32 25.03 ns 24.84 ns -0.8%
JSON_Object_At_Last_Key_128 93.42 ns 93.23 ns -0.2%
JSON_Object_At_Last_Key_512 426.79 ns 426.51 ns -0.1%
JSON_Object_At_Only_Key_1 2.48 ns 2.47 ns -0.2%
JSON_Object_At_Key_3 4.66 ns 4.61 ns -1.0%
JSON_Object_At_First_Key_8 2.48 ns 2.48 ns -0.2%
JSON_Object_At_First_Key_32 2.48 ns 2.48 ns +0.1%
JSON_Object_At_First_Key_128 2.48 ns 2.48 ns +0.1%
JSON_Object_At_First_Key_512 2.48 ns 2.48 ns +0.0%
JSON_Object_Iterate_32 32.51 ns 34.32 ns +5.6%
JSON_Object_Iterate_128 91.70 ns 92.88 ns +1.3%
JSON_Object_Defines_All_Present_K2_W8 7.60 ns 7.55 ns -0.7%
JSON_Object_Defines_All_Present_K8_W32 94.81 ns 94.78 ns -0.0%
JSON_Object_Defines_All_Present_K8_W128 334.07 ns 333.70 ns -0.1%
JSON_Object_Defines_All_Present_K32_W128 1.49 us 1.50 us +0.6%
JSON_Object_Try_At_Sequential_NoHint_32 443.48 ns 432.39 ns -2.5%
JSON_Object_Try_At_Sequential_Hint_32 58.64 ns 58.54 ns -0.2%
JSON_Object_At_Key_Sorted_Order_32 458.50 ns 458.04 ns -0.1%
JSON_Object_Try_At_Sorted_Order_Hint_32 782.55 ns 778.44 ns -0.5%
JSON_Divisible_By_Decimal 449.80 ns 407.05 ns -9.5%
JSON_PropertySet_Contains 75.64 ns 75.94 ns +0.4%
JSON_PropertySet_Filter_Object_Properties 60.22 ns 60.04 ns -0.3%
JSON_PropertySet_Insert 1.29 us 1.63 us +25.8%
JSON_Stringify_Schema_Web_Of_Things 223.09 us 223.35 us +0.1%
JSON_Prettify_Schema_Web_Of_Things 717.21 us 714.17 us -0.4%
Pointer_Object_Traverse 49.39 ns 47.42 ns -4.0%
Pointer_Object_Try_Traverse 62.57 ns 62.62 ns +0.1%
Pointer_Object_Traverse_Single_Property 7.83 ns 7.81 ns -0.3%
Pointer_Object_Try_Traverse_Single_Property 10.27 ns 10.29 ns +0.2%
Pointer_Push_Back_Pointer_To_Weak_Pointer 179.37 ns 164.77 ns -8.1%
Pointer_Walker_Schema_ISO_Language 10.07 ms 10.39 ms +3.2%
Pointer_Untracked_Deeply_Nested 2.68 ms 2.40 ms -10.4%
Pointer_Tracked_Deeply_Nested 3.59 ms 3.61 ms +0.6%
Pointer_Position_Tracker_Get_Deeply_Nested 620.95 ns 616.15 ns -0.8%
Schema_Tracker_ISO_Language 11.50 ms 11.03 ms -4.1%
Schema_Tracker_ISO_Language_To_JSON 68.20 ms 67.60 ms -0.9%
Schema_Frame_WoT_References 5.03 ms 5.06 ms +0.6%
Schema_Frame_OMC_References 24.35 ms 22.82 ms -6.3%
Schema_Frame_OMC_Pointers 44.33 ms 46.35 ms +4.6%
Schema_Frame_OMC_Locations 20.81 ms 19.71 ms -5.3%
Schema_Frame_ISO_Language_Locations 97.37 ms 97.66 ms +0.3%
Schema_Frame_ISO_Language_Root 2.45 us 2.38 us -2.9%
Schema_Frame_KrakenD_References 41.99 ms 45.33 ms +7.9%
Schema_Frame_KrakenD_Reachable 269.76 ms 276.45 ms +2.5%
Schema_Frame_ISO_Language_Locations_To_JSON 168.63 ms 182.29 ms +8.1%
Schema_Frame_Many_Resources_References 354.71 ms 352.69 ms -0.6%
Schema_Frame_Deeply_Nested_References 26.35 ms 21.68 ms -17.7%
Schema_Format_ISO_Language 101.40 ms 103.50 ms +2.1%
Schema_Bundle_Meta_2020_12 1.46 ms 1.47 ms +0.6%
Schema_Bundle_Many_Remotes_With_Fragments 22.69 ms 22.56 ms -0.6%
OpenAPI_Frame_GSMTasks_3_0 389.13 ms 391.48 ms +0.6%
OpenAPI_Format_Synthetic_3_1 124.41 ms 129.28 ms +3.9%
JSONPath_Descendant_Filter_Nested 3.26 us 3.17 us -2.9%
URITemplateRouter_Create 36.96 us 36.74 us -0.6%
URITemplateRouter_Match 212.12 ns 213.43 ns +0.6%
URITemplateRouterView_Restore 25.73 us 25.98 us +1.0%
URITemplateRouterView_Match 203.33 ns 202.66 ns -0.3%
URITemplateRouterView_Arguments 592.58 ns 590.58 ns -0.3%
URITemplateRouter_Match_BasePath 241.79 ns 241.99 ns +0.1%
URITemplateRouterView_Match_BasePath 231.59 ns 230.98 ns -0.3%
JSONL_Parse_Large 32.69 ms 32.81 ms +0.4%
JSONL_Parse_Large_GZIP 31.50 ms 31.40 ms -0.3%
JSONLD_Catalog_Annotation_List_Populate 3.12 ms 3.08 ms -1.4%
JSONLD_Catalog_Materialize 8.66 ms 9.66 ms +11.5%
HTML_Build_Table_100000 69.87 ms 69.83 ms -0.1%
HTML_Render_Table_100000 8.18 ms 8.25 ms +0.9%
Markdown_To_HTML_Realistic_Document 5.87 ms 6.25 ms +6.4%
Markdown_To_HTML_Pathological 18.52 ms 18.20 ms -1.7%
Markdown_To_HTML_Short_Descriptions 741.15 ns 741.27 ns +0.0%
GZIP_Compress_ISO_Language_Set_3_Locations 39.75 ms 39.67 ms -0.2%
GZIP_Decompress_ISO_Language_Set_3_Locations 10.18 ms 10.27 ms +0.8%
GZIP_Decompress_Default_Level_ISO_Language_Set_3_Locations 12.53 ms 12.66 ms +1.0%
GZIP_Decompress_Stream_Default_Level_ISO_Language_Set_3_Locations 15.81 ms 16.35 ms +3.4%
GZIP_Compress_ISO_Language_Set_3_Schema 2.61 ms 2.62 ms +0.4%
GZIP_Decompress_ISO_Language_Set_3_Schema 586.85 us 594.01 us +1.2%
JOSE_VerifySignature_RS256 23.88 us 23.81 us -0.3%
JOSE_VerifySignature_ES512 1.52 ms 1.53 ms +0.3%
Crypto_CRC32_Large_JSONL 116.08 us 116.18 us +0.1%
Crypto_AES_GCM_Encrypt_128_1KB 2.41 us 2.41 us +0.0%
Crypto_AES_GCM_Decrypt_128_1KB 2.38 us 2.41 us +1.4%
Crypto_AES_GCM_Encrypt_256_1KB 2.50 us 2.48 us -0.9%
Metapack_Parse_OMC_JSON_V2 12.15 ns 12.14 ns -0.1%
Metapack_Read_OMC_JSON_V2 682.90 us 692.25 us +1.4%
Metapack_Write_OMC_JSON_V2 2.01 ms 2.08 ms +3.5%

@jviotti
jviotti merged commit 18a8f50 into main Nov 2, 2026
15 checks passed
@jviotti
jviotti deleted the bytestream-binpack branch November 2, 2026 18:47
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