Repository navigation
Extend binary streams to make them a fit for BinPack - #3052
Conversation
Signed-off-by: Juan Cruz Viotti <jv@jviotti.com>
There was a problem hiding this comment.
All reported issues were addressed across 12 files
Reply with feedback, questions, or to request a fix.
View guided diff | Re-trigger cubic
| 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); |
There was a problem hiding this comment.
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
🤖 Was this useful? React with 👍 or 👎, or 🚀 if it prevented an incident/outage.
|
|
||
| return static_cast<std::size_t>(position); | ||
| auto BinaryWriter::position() const noexcept -> std::size_t { | ||
| return this->offset_; |
There was a problem hiding this comment.
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
🤖 Was this useful? React with 👍 or 👎, or 🚀 if it prevented an incident/outage.
Benchmark
|
| 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% |
Benchmark
|
| 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% |
Benchmark
|
| 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% |
Benchmark
|
| 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% |
Signed-off-by: Juan Cruz Viotti jv@jviotti.com