Repository navigation
Separate JSON Pointer fragment tokens before decoding them - #3027
Conversation
Signed-off-by: Juan Cruz Viotti <jv@jviotti.com>
Benchmark
|
| 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% |
🤖 Augment PR SummaryChanges JSON Pointer fragment parsing to split tokens before percent-decoding.
🤖 Was this summary useful? React with 👍 or 👎 |
| if (character == '/') { | ||
| output.append("~1"); |
There was a problem hiding this comment.
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
🤖 Was this useful? React with 👍 or 👎, or 🚀 if it prevented an incident/outage.
Benchmark
|
| 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% |
Benchmark
|
| 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% |
Benchmark
|
| 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>
Signed-off-by: Juan Cruz Viotti jv@jviotti.com