Repository navigation
Fix the dangling reference left by bundling a boolean remote schema - #3035
Conversation
Signed-off-by: Juan Cruz Viotti <jv@jviotti.com>
Benchmark
|
| Benchmark | main |
This branch | Change |
|---|---|---|---|
JSON_Array_Of_Integers_Unique_256 |
4.49 us | 5.15 us | +14.6% |
Regex_Caret_Period_Plus_Dollar |
2.22 ns | 2.49 ns | +12.3% |
Schema_Frame_OMC_Locations |
9.48 ms | 10.49 ms | +10.7% |
JSONLD_Catalog_Materialize |
4.36 ms | 4.79 ms | +9.9% |
JSON_Parse_Schema_ISO_Language |
3.70 ms | 3.48 ms | -5.8% |
JSON_String_Key_Hash_10 |
2.70 ns | 2.49 ns | -7.5% |
JSON_Number_To_Double |
14.97 ns | 13.77 ns | -8.0% |
Schema_Frame_KrakenD_References |
20.76 ms | 18.68 ms | -10.0% |
Regex_Caret_Group_Period_Asterisk_Group_Dollar |
2.49 ns | 2.18 ns | -12.4% |
Regex_Caret_Period_Asterisk_Dollar |
2.49 ns | 2.18 ns | -12.5% |
Regex_Caret_X_Hyphen |
6.55 ns | 5.30 ns | -19.1% |
Pointer_Push_Back_Pointer_To_Weak_Pointer |
161.22 ns | 130.37 ns | -19.1% |
JSON_String_Key_Hash_100 |
9.03 ns | 6.55 ns | -27.5% |
JSON_String_Equal_Small_By_Runtime_Perfect_Hash_10 |
14.62 ns | 10.28 ns | -29.7% |
All 118 benchmarks
| Benchmark | main |
This branch | Change |
|---|---|---|---|
Regex_Lower_S_Or_Upper_S_Asterisk |
2.18 ns | 2.18 ns | -0.1% |
Regex_Caret_Lower_S_Or_Upper_S_Asterisk_Dollar |
2.19 ns | 2.18 ns | -0.3% |
Regex_Period_Asterisk |
2.17 ns | 2.18 ns | +0.4% |
Regex_Group_Period_Asterisk_Group |
2.17 ns | 2.18 ns | +0.3% |
Regex_Period_Plus |
2.81 ns | 2.80 ns | -0.3% |
Regex_Period |
2.80 ns | 2.80 ns | +0.1% |
Regex_Caret_Period_Plus_Dollar |
2.22 ns | 2.49 ns | +12.3% |
Regex_Caret_Group_Period_Plus_Group_Dollar |
2.21 ns | 2.18 ns | -1.5% |
Regex_Caret_Period_Asterisk_Dollar |
2.49 ns | 2.18 ns | -12.5% |
Regex_Caret_Group_Period_Asterisk_Group_Dollar |
2.49 ns | 2.18 ns | -12.4% |
Regex_Caret_X_Hyphen |
6.55 ns | 5.30 ns | -19.1% |
Regex_Period_Md_Dollar |
27.78 ns | 27.94 ns | +0.6% |
Regex_Caret_Slash_Period_Asterisk |
6.23 ns | 6.23 ns | +0.0% |
Regex_Caret_Period_Range_Dollar |
4.36 ns | 4.36 ns | -0.1% |
Regex_Nested_Backtrack |
39.08 ns | 38.34 ns | -1.9% |
JSON_Array_Of_Objects_Unique |
396.23 ns | 398.95 ns | +0.7% |
JSON_Array_Of_Integers_Unique_256 |
4.49 us | 5.15 us | +14.6% |
JSON_Array_Of_Strings_Unique_Colliding_256 |
215.84 us | 216.04 us | +0.1% |
JSON_Parse_1 |
4.70 us | 4.69 us | -0.2% |
JSON_Parse_Real |
4.84 us | 4.82 us | -0.3% |
JSON_Parse_Real_Inexact |
4.29 us | 4.44 us | +3.4% |
JSON_Parse_Decimal |
7.46 us | 7.59 us | +1.8% |
JSON_Parse_Schema_ISO_Language |
3.70 ms | 3.48 ms | -5.8% |
JSON_Parse_KrakenD |
1.14 ms | 1.13 ms | -1.4% |
JSON_Stringify_ISO_Language |
2.48 ms | 2.49 ms | +0.4% |
JSON_Prettify_KrakenD |
1.99 ms | 1.99 ms | -0.1% |
JSON_Parse_Integer |
3.70 us | 3.71 us | +0.3% |
JSON_Parse_String_NonSSO_Plain |
3.39 us | 3.39 us | -0.1% |
JSON_Parse_String_SSO_Plain |
2.89 us | 2.94 us | +1.7% |
JSON_Parse_String_Escape_Heavy |
12.49 us | 12.52 us | +0.3% |
JSON_Parse_Object_Short_Keys |
8.69 us | 8.64 us | -0.7% |
JSON_Parse_Object_Scalar_Properties |
4.40 us | 4.39 us | -0.3% |
JSON_Parse_Object_Array_Properties |
5.39 us | 5.22 us | -3.1% |
JSON_Parse_Object_Object_Properties |
5.58 us | 5.55 us | -0.4% |
JSON_Parse_Nested_Containers |
35.49 us | 35.52 us | +0.1% |
JSON_Fast_Hash_Helm_Chart_Lock |
53.82 ns | 53.91 ns | +0.2% |
JSON_Equality_Helm_Chart_Lock |
171.05 ns | 169.95 ns | -0.6% |
JSON_String_Equal_10 |
6.54 ns | 6.41 ns | -2.0% |
JSON_String_Equal_100 |
7.17 ns | 6.86 ns | -4.2% |
JSON_String_Equal_Small_By_Perfect_Hash_10 |
1.13 ns | 1.13 ns | -0.0% |
JSON_String_Equal_Small_By_Runtime_Perfect_Hash_10 |
14.62 ns | 10.28 ns | -29.7% |
JSON_String_Fast_Hash_10 |
2.18 ns | 2.18 ns | +0.1% |
JSON_String_Fast_Hash_100 |
2.18 ns | 2.18 ns | +0.0% |
JSON_String_Key_Hash_10 |
2.70 ns | 2.49 ns | -7.5% |
JSON_String_Key_Hash_100 |
9.03 ns | 6.55 ns | -27.5% |
JSON_Object_Defines_Miss_Same_Length |
2.71 ns | 2.76 ns | +2.1% |
JSON_Object_Defines_Miss_Too_Small |
3.44 ns | 3.43 ns | -0.4% |
JSON_Object_Defines_Miss_Too_Large |
3.43 ns | 3.43 ns | +0.2% |
JSON_From_String_Copy |
11.30 ns | 11.01 ns | -2.6% |
JSON_From_String_Temporary |
9.96 ns | 10.01 ns | +0.5% |
JSON_Number_To_Double |
14.97 ns | 13.77 ns | -8.0% |
JSON_Object_At_Last_Key_8 |
3.85 ns | 3.94 ns | +2.5% |
JSON_Object_At_Last_Key_32 |
21.49 ns | 21.65 ns | +0.7% |
JSON_Object_At_Last_Key_128 |
49.18 ns | 49.10 ns | -0.2% |
JSON_Object_At_Last_Key_512 |
389.32 ns | 386.85 ns | -0.6% |
JSON_Divisible_By_Decimal |
279.22 ns | 278.86 ns | -0.1% |
JSON_PropertySet_Contains |
52.45 ns | 52.93 ns | +0.9% |
JSON_PropertySet_Filter_Object_Properties |
39.60 ns | 39.38 ns | -0.5% |
JSON_PropertySet_Insert |
568.85 ns | 569.31 ns | +0.1% |
JSON_Stringify_Schema_Web_Of_Things |
57.53 us | 56.64 us | -1.5% |
JSON_Prettify_Schema_Web_Of_Things |
161.24 us | 164.42 us | +2.0% |
Pointer_Object_Traverse |
28.19 ns | 28.21 ns | +0.1% |
Pointer_Object_Try_Traverse |
30.78 ns | 30.76 ns | -0.1% |
Pointer_Push_Back_Pointer_To_Weak_Pointer |
161.22 ns | 130.37 ns | -19.1% |
Pointer_Walker_Schema_ISO_Language |
1.82 ms | 1.78 ms | -2.5% |
Pointer_Untracked_Deeply_Nested |
1.27 ms | 1.32 ms | +4.4% |
Pointer_Tracked_Deeply_Nested |
1.69 ms | 1.71 ms | +0.8% |
Pointer_Position_Tracker_Get_Deeply_Nested |
617.36 ns | 623.56 ns | +1.0% |
Schema_Tracker_ISO_Language |
5.03 ms | 5.01 ms | -0.3% |
Schema_Tracker_ISO_Language_To_JSON |
16.59 ms | 16.45 ms | -0.8% |
Schema_Frame_WoT_References |
2.18 ms | 2.16 ms | -1.0% |
Schema_Frame_OMC_References |
11.50 ms | 11.44 ms | -0.5% |
Schema_Frame_OMC_Pointers |
20.89 ms | 21.34 ms | +2.2% |
Schema_Frame_OMC_Locations |
9.48 ms | 10.49 ms | +10.7% |
Schema_Frame_ISO_Language_Locations |
47.85 ms | 48.84 ms | +2.1% |
Schema_Frame_ISO_Language_Root |
275.90 ns | 273.37 ns | -0.9% |
Schema_Frame_KrakenD_References |
20.76 ms | 18.68 ms | -10.0% |
Schema_Frame_KrakenD_Reachable |
162.51 ms | 162.15 ms | -0.2% |
Schema_Frame_ISO_Language_Locations_To_JSON |
32.06 ms | 31.73 ms | -1.0% |
Schema_Frame_Many_Resources_References |
120.73 ms | 124.92 ms | +3.5% |
Schema_Frame_Deeply_Nested_References |
12.45 ms | 12.54 ms | +0.7% |
Schema_Format_ISO_Language |
53.37 ms | 53.38 ms | +0.0% |
Schema_Bundle_Meta_2020_12 |
627.10 us | 627.53 us | +0.1% |
Schema_Bundle_Many_Remotes_With_Fragments |
6.98 ms | 6.97 ms | -0.1% |
OpenAPI_Frame_GSMTasks_3_0 |
175.50 ms | 178.79 ms | +1.9% |
OpenAPI_Format_Synthetic_3_1 |
58.01 ms | 59.40 ms | +2.4% |
JSONPath_Descendant_Filter_Nested |
1.63 us | 1.63 us | +0.1% |
URITemplateRouter_Create |
23.06 us | 22.38 us | -3.0% |
URITemplateRouter_Match |
184.22 ns | 187.83 ns | +2.0% |
URITemplateRouterView_Restore |
7.93 us | 7.84 us | -1.0% |
URITemplateRouterView_Match |
137.65 ns | 137.43 ns | -0.2% |
URITemplateRouterView_Arguments |
443.21 ns | 430.88 ns | -2.8% |
URITemplateRouter_Match_BasePath |
217.86 ns | 211.85 ns | -2.8% |
URITemplateRouterView_Match_BasePath |
163.47 ns | 163.24 ns | -0.1% |
JSONL_Parse_Large |
9.63 ms | 9.52 ms | -1.2% |
JSONL_Parse_Large_GZIP |
9.79 ms | 9.69 ms | -1.0% |
JSONLD_Catalog_Annotation_List_Populate |
603.27 us | 608.86 us | +0.9% |
JSONLD_Catalog_Materialize |
4.36 ms | 4.79 ms | +9.9% |
HTML_Build_Table_100000 |
39.51 ms | 38.85 ms | -1.7% |
HTML_Render_Table_100000 |
2.26 ms | 2.18 ms | -3.7% |
Markdown_To_HTML_Realistic_Document |
4.18 ms | 4.16 ms | -0.5% |
Markdown_To_HTML_Pathological |
13.01 ms | 13.02 ms | +0.1% |
Markdown_To_HTML_Short_Descriptions |
534.85 ns | 532.57 ns | -0.4% |
GZIP_Compress_ISO_Language_Set_3_Locations |
33.56 ms | 33.52 ms | -0.1% |
GZIP_Decompress_ISO_Language_Set_3_Locations |
5.20 ms | 5.17 ms | -0.5% |
GZIP_Decompress_Default_Level_ISO_Language_Set_3_Locations |
7.13 ms | 7.12 ms | -0.2% |
GZIP_Decompress_Stream_Default_Level_ISO_Language_Set_3_Locations |
10.58 ms | 10.47 ms | -1.0% |
GZIP_Compress_ISO_Language_Set_3_Schema |
2.07 ms | 2.06 ms | -0.6% |
GZIP_Decompress_ISO_Language_Set_3_Schema |
421.31 us | 420.73 us | -0.1% |
JOSE_VerifySignature_RS256 |
47.29 us | 47.01 us | -0.6% |
JOSE_VerifySignature_ES512 |
1.55 ms | 1.53 ms | -1.1% |
Crypto_CRC32_Large_JSONL |
101.71 us | 101.81 us | +0.1% |
Crypto_AES_GCM_Encrypt_128_1KB |
43.57 us | 43.56 us | -0.0% |
Crypto_AES_GCM_Decrypt_128_1KB |
43.56 us | 43.41 us | -0.3% |
Crypto_AES_GCM_Encrypt_256_1KB |
50.43 us | 50.39 us | -0.1% |
Metapack_Parse_OMC_JSON_V2 |
6.54 ns | 6.54 ns | -0.1% |
Metapack_Read_OMC_JSON_V2 |
399.41 us | 384.70 us | -3.7% |
Metapack_Write_OMC_JSON_V2 |
884.61 us | 870.32 us | -1.6% |
🤖 Augment PR SummarySummary: Fix dangling references when bundling remote boolean schemas.
🤖 Was this summary useful? React with 👍 or 👎 |
| // A dialect that defines no identifier keyword leaves the remote unable | ||
| // to declare one, so the name it was resolved by is not the name it | ||
| // answers to afterwards | ||
| } else if (!remote_can_name_itself) { |
There was a problem hiding this comment.
Could you check the case where an anonymous root references {"$id":"https://example.com/outer","$ref":"https://example.com/flag"} and flag resolves to a boolean (src/core/jsonschema/bundle.cc:912)? In the newly selected positional pass, settle_positional_references uses the enclosing resource's parent as the copy host (bundle.cc:376–378), so the boolean copy stays in the document-root $defs while the rewritten #/$defs/... resolves inside outer, leaving a dangling reference.
Severity: medium
🤖 Was this useful? React with 👍 or 👎, or 🚀 if it prevented an incident/outage.
| // says exactly what it says, which is what lets one carry it | ||
| if (result.has_value() && result.value().is_boolean()) { | ||
| auto spelled{std::move(result).to_owned()}; | ||
| spell_out(spelled); |
There was a problem hiding this comment.
Could you check $ref: "https://example.com/deny#/not" with a resolver returning false at src/core/openapi/bundle.cc:924? spell_out now creates /not before embed_references validates the original fragment, so a reference that previously raised SchemaReferenceError is accepted and resolves to {}.
Severity: medium
🤖 Was this useful? React with 👍 or 👎, or 🚀 if it prevented an incident/outage.
Benchmark
|
| Benchmark | main |
This branch | Change |
|---|---|---|---|
Schema_Frame_Deeply_Nested_References |
15.32 ms | 17.24 ms | +12.5% |
JSON_Object_At_Last_Key_128 |
71.98 ns | 80.02 ns | +11.2% |
JSON_Fast_Hash_Helm_Chart_Lock |
77.25 ns | 84.63 ns | +9.5% |
JSON_Divisible_By_Decimal |
285.52 ns | 312.71 ns | +9.5% |
JSON_String_Fast_Hash_100 |
3.41 ns | 3.72 ns | +9.0% |
JSON_Object_Defines_Miss_Too_Small |
3.34 ns | 3.61 ns | +8.1% |
JSON_String_Fast_Hash_10 |
3.71 ns | 4.00 ns | +7.7% |
Regex_Period_Asterisk |
2.34 ns | 2.48 ns | +6.2% |
JSON_Array_Of_Objects_Unique |
449.11 ns | 475.57 ns | +5.9% |
JSON_Parse_Real |
4.77 us | 5.03 us | +5.7% |
Metapack_Parse_OMC_JSON_V2 |
4.97 ns | 5.23 ns | +5.2% |
JSON_Parse_String_Escape_Heavy |
20.97 us | 19.83 us | -5.4% |
JSON_Parse_String_SSO_Plain |
3.27 us | 3.07 us | -6.3% |
JSON_Parse_Object_Object_Properties |
8.85 us | 8.19 us | -7.5% |
JSON_Parse_Object_Array_Properties |
8.84 us | 8.12 us | -8.2% |
Pointer_Push_Back_Pointer_To_Weak_Pointer |
146.78 ns | 129.53 ns | -11.8% |
All 118 benchmarks
| Benchmark | main |
This branch | Change |
|---|---|---|---|
Regex_Lower_S_Or_Upper_S_Asterisk |
2.27 ns | 2.27 ns | +0.1% |
Regex_Caret_Lower_S_Or_Upper_S_Asterisk_Dollar |
2.34 ns | 2.43 ns | +3.7% |
Regex_Period_Asterisk |
2.34 ns | 2.48 ns | +6.2% |
Regex_Group_Period_Asterisk_Group |
2.33 ns | 2.45 ns | +4.8% |
Regex_Period_Plus |
2.48 ns | 2.48 ns | +0.1% |
Regex_Period |
2.35 ns | 2.41 ns | +2.8% |
Regex_Caret_Period_Plus_Dollar |
2.42 ns | 2.41 ns | -0.4% |
Regex_Caret_Group_Period_Plus_Group_Dollar |
2.33 ns | 2.40 ns | +3.2% |
Regex_Caret_Period_Asterisk_Dollar |
2.27 ns | 2.27 ns | -0.0% |
Regex_Caret_Group_Period_Asterisk_Group_Dollar |
2.33 ns | 2.43 ns | +4.2% |
Regex_Caret_X_Hyphen |
5.57 ns | 5.67 ns | +1.8% |
Regex_Period_Md_Dollar |
25.78 ns | 25.91 ns | +0.5% |
Regex_Caret_Slash_Period_Asterisk |
5.47 ns | 5.64 ns | +3.1% |
Regex_Caret_Period_Range_Dollar |
2.68 ns | 2.63 ns | -1.9% |
Regex_Nested_Backtrack |
37.09 ns | 37.90 ns | +2.2% |
JSON_Array_Of_Objects_Unique |
449.11 ns | 475.57 ns | +5.9% |
JSON_Array_Of_Integers_Unique_256 |
3.71 us | 3.84 us | +3.3% |
JSON_Array_Of_Strings_Unique_Colliding_256 |
242.38 us | 231.03 us | -4.7% |
JSON_Parse_1 |
6.21 us | 6.26 us | +0.9% |
JSON_Parse_Real |
4.77 us | 5.03 us | +5.7% |
JSON_Parse_Real_Inexact |
4.77 us | 4.84 us | +1.5% |
JSON_Parse_Decimal |
8.07 us | 8.37 us | +3.7% |
JSON_Parse_Schema_ISO_Language |
7.16 ms | 7.27 ms | +1.5% |
JSON_Parse_KrakenD |
2.04 ms | 1.94 ms | -4.8% |
JSON_Stringify_ISO_Language |
6.75 ms | 6.73 ms | -0.2% |
JSON_Prettify_KrakenD |
5.13 ms | 5.05 ms | -1.5% |
JSON_Parse_Integer |
4.11 us | 4.30 us | +4.7% |
JSON_Parse_String_NonSSO_Plain |
6.01 us | 5.92 us | -1.5% |
JSON_Parse_String_SSO_Plain |
3.27 us | 3.07 us | -6.3% |
JSON_Parse_String_Escape_Heavy |
20.97 us | 19.83 us | -5.4% |
JSON_Parse_Object_Short_Keys |
9.01 us | 9.20 us | +2.1% |
JSON_Parse_Object_Scalar_Properties |
4.95 us | 4.74 us | -4.2% |
JSON_Parse_Object_Array_Properties |
8.84 us | 8.12 us | -8.2% |
JSON_Parse_Object_Object_Properties |
8.85 us | 8.19 us | -7.5% |
JSON_Parse_Nested_Containers |
56.81 us | 57.31 us | +0.9% |
JSON_Fast_Hash_Helm_Chart_Lock |
77.25 ns | 84.63 ns | +9.5% |
JSON_Equality_Helm_Chart_Lock |
206.63 ns | 202.74 ns | -1.9% |
JSON_String_Equal_10 |
8.79 ns | 8.84 ns | +0.6% |
JSON_String_Equal_100 |
11.30 ns | 11.25 ns | -0.4% |
JSON_String_Equal_Small_By_Perfect_Hash_10 |
1.16 ns | 1.15 ns | -1.2% |
JSON_String_Equal_Small_By_Runtime_Perfect_Hash_10 |
9.03 ns | 8.77 ns | -2.9% |
JSON_String_Fast_Hash_10 |
3.71 ns | 4.00 ns | +7.7% |
JSON_String_Fast_Hash_100 |
3.41 ns | 3.72 ns | +9.0% |
JSON_String_Key_Hash_10 |
2.90 ns | 2.89 ns | -0.3% |
JSON_String_Key_Hash_100 |
7.62 ns | 7.65 ns | +0.4% |
JSON_Object_Defines_Miss_Same_Length |
4.04 ns | 3.99 ns | -1.3% |
JSON_Object_Defines_Miss_Too_Small |
3.34 ns | 3.61 ns | +8.1% |
JSON_Object_Defines_Miss_Too_Large |
3.63 ns | 3.64 ns | +0.1% |
JSON_From_String_Copy |
43.90 ns | 44.16 ns | +0.6% |
JSON_From_String_Temporary |
51.60 ns | 53.08 ns | +2.9% |
JSON_Number_To_Double |
32.84 ns | 32.73 ns | -0.3% |
JSON_Object_At_Last_Key_8 |
7.03 ns | 7.10 ns | +1.0% |
JSON_Object_At_Last_Key_32 |
21.43 ns | 21.24 ns | -0.9% |
JSON_Object_At_Last_Key_128 |
71.98 ns | 80.02 ns | +11.2% |
JSON_Object_At_Last_Key_512 |
252.65 ns | 250.63 ns | -0.8% |
JSON_Divisible_By_Decimal |
285.52 ns | 312.71 ns | +9.5% |
JSON_PropertySet_Contains |
75.04 ns | 73.92 ns | -1.5% |
JSON_PropertySet_Filter_Object_Properties |
54.49 ns | 54.63 ns | +0.3% |
JSON_PropertySet_Insert |
958.15 ns | 979.44 ns | +2.2% |
JSON_Stringify_Schema_Web_Of_Things |
152.62 us | 151.54 us | -0.7% |
JSON_Prettify_Schema_Web_Of_Things |
465.27 us | 464.26 us | -0.2% |
Pointer_Object_Traverse |
35.06 ns | 36.49 ns | +4.1% |
Pointer_Object_Try_Traverse |
37.62 ns | 37.62 ns | -0.0% |
Pointer_Push_Back_Pointer_To_Weak_Pointer |
146.78 ns | 129.53 ns | -11.8% |
Pointer_Walker_Schema_ISO_Language |
6.79 ms | 7.04 ms | +3.6% |
Pointer_Untracked_Deeply_Nested |
1.88 ms | 1.92 ms | +2.1% |
Pointer_Tracked_Deeply_Nested |
3.53 ms | 3.58 ms | +1.5% |
Pointer_Position_Tracker_Get_Deeply_Nested |
536.29 ns | 525.00 ns | -2.1% |
Schema_Tracker_ISO_Language |
10.27 ms | 10.21 ms | -0.6% |
Schema_Tracker_ISO_Language_To_JSON |
47.23 ms | 46.89 ms | -0.7% |
Schema_Frame_WoT_References |
4.00 ms | 3.96 ms | -0.9% |
Schema_Frame_OMC_References |
18.26 ms | 17.68 ms | -3.2% |
Schema_Frame_OMC_Pointers |
31.54 ms | 31.74 ms | +0.6% |
Schema_Frame_OMC_Locations |
15.28 ms | 15.54 ms | +1.7% |
Schema_Frame_ISO_Language_Locations |
59.75 ms | 60.57 ms | +1.4% |
Schema_Frame_ISO_Language_Root |
2.05 us | 2.08 us | +1.6% |
Schema_Frame_KrakenD_References |
29.99 ms | 29.54 ms | -1.5% |
Schema_Frame_KrakenD_Reachable |
199.27 ms | 201.06 ms | +0.9% |
Schema_Frame_ISO_Language_Locations_To_JSON |
132.84 ms | 131.11 ms | -1.3% |
Schema_Frame_Many_Resources_References |
234.17 ms | 236.28 ms | +0.9% |
Schema_Frame_Deeply_Nested_References |
15.32 ms | 17.24 ms | +12.5% |
Schema_Format_ISO_Language |
63.10 ms | 62.98 ms | -0.2% |
Schema_Bundle_Meta_2020_12 |
1.16 ms | 1.17 ms | +0.2% |
Schema_Bundle_Many_Remotes_With_Fragments |
20.07 ms | 19.93 ms | -0.7% |
OpenAPI_Frame_GSMTasks_3_0 |
283.76 ms | 278.34 ms | -1.9% |
OpenAPI_Format_Synthetic_3_1 |
92.47 ms | 91.77 ms | -0.7% |
JSONPath_Descendant_Filter_Nested |
1.99 us | 2.05 us | +2.8% |
URITemplateRouter_Create |
29.85 us | 30.52 us | +2.2% |
URITemplateRouter_Match |
224.30 ns | 220.49 ns | -1.7% |
URITemplateRouterView_Restore |
16.81 us | 16.34 us | -2.8% |
URITemplateRouterView_Match |
182.65 ns | 183.23 ns | +0.3% |
URITemplateRouterView_Arguments |
400.92 ns | 401.86 ns | +0.2% |
URITemplateRouter_Match_BasePath |
250.78 ns | 242.78 ns | -3.2% |
URITemplateRouterView_Match_BasePath |
204.41 ns | 205.56 ns | +0.6% |
JSONL_Parse_Large |
22.58 ms | 23.55 ms | +4.3% |
JSONL_Parse_Large_GZIP |
21.32 ms | 22.07 ms | +3.5% |
JSONLD_Catalog_Annotation_List_Populate |
2.49 ms | 2.52 ms | +1.4% |
JSONLD_Catalog_Materialize |
5.90 ms | 5.98 ms | +1.3% |
HTML_Build_Table_100000 |
74.32 ms | 74.93 ms | +0.8% |
HTML_Render_Table_100000 |
11.48 ms | 11.47 ms | -0.1% |
Markdown_To_HTML_Realistic_Document |
4.18 ms | 4.16 ms | -0.6% |
Markdown_To_HTML_Pathological |
14.46 ms | 14.60 ms | +1.0% |
Markdown_To_HTML_Short_Descriptions |
525.60 ns | 521.97 ns | -0.7% |
GZIP_Compress_ISO_Language_Set_3_Locations |
28.56 ms | 27.81 ms | -2.6% |
GZIP_Decompress_ISO_Language_Set_3_Locations |
10.52 ms | 10.38 ms | -1.3% |
GZIP_Decompress_Default_Level_ISO_Language_Set_3_Locations |
11.84 ms | 11.77 ms | -0.6% |
GZIP_Decompress_Stream_Default_Level_ISO_Language_Set_3_Locations |
16.39 ms | 16.42 ms | +0.1% |
GZIP_Compress_ISO_Language_Set_3_Schema |
1.99 ms | 1.92 ms | -3.3% |
GZIP_Decompress_ISO_Language_Set_3_Schema |
626.57 us | 653.89 us | +4.4% |
JOSE_VerifySignature_RS256 |
17.20 us | 17.20 us | +0.0% |
JOSE_VerifySignature_ES512 |
924.15 us | 927.43 us | +0.4% |
Crypto_CRC32_Large_JSONL |
46.24 us | 46.33 us | +0.2% |
Crypto_AES_GCM_Encrypt_128_1KB |
1.48 us | 1.44 us | -2.7% |
Crypto_AES_GCM_Decrypt_128_1KB |
1.47 us | 1.45 us | -1.0% |
Crypto_AES_GCM_Encrypt_256_1KB |
1.53 us | 1.49 us | -2.4% |
Metapack_Parse_OMC_JSON_V2 |
4.97 ns | 5.23 ns | +5.2% |
Metapack_Read_OMC_JSON_V2 |
451.78 us | 450.34 us | -0.3% |
Metapack_Write_OMC_JSON_V2 |
1.46 ms | 1.46 ms | +0.0% |
Benchmark
|
| Benchmark | main |
This branch | Change |
|---|---|---|---|
JSON_Parse_String_SSO_Plain |
2.43 us | 2.87 us | +18.2% |
Schema_Tracker_ISO_Language_To_JSON |
12.36 ms | 13.96 ms | +12.9% |
JSON_Array_Of_Integers_Unique_256 |
3.00 us | 3.25 us | +8.4% |
Pointer_Position_Tracker_Get_Deeply_Nested |
516.62 ns | 555.09 ns | +7.4% |
JSON_String_Equal_10 |
5.52 ns | 5.83 ns | +5.5% |
Metapack_Write_OMC_JSON_V2 |
685.20 us | 722.72 us | +5.5% |
JSON_Stringify_ISO_Language |
1.91 ms | 2.01 ms | +5.3% |
JSON_Array_Of_Strings_Unique_Colliding_256 |
154.88 us | 162.98 us | +5.2% |
JSON_PropertySet_Contains |
41.23 ns | 37.69 ns | -8.6% |
Schema_Frame_Deeply_Nested_References |
9.76 ms | 8.85 ms | -9.4% |
Regex_Nested_Backtrack |
38.22 ns | 34.58 ns | -9.5% |
JSON_Object_Defines_Miss_Too_Small |
2.73 ns | 2.46 ns | -10.0% |
JSON_Object_Defines_Miss_Same_Length |
2.73 ns | 2.45 ns | -10.1% |
JSON_String_Key_Hash_10 |
2.29 ns | 2.05 ns | -10.4% |
Regex_Period_Md_Dollar |
36.57 ns | 26.53 ns | -27.4% |
Regex_Caret_Period_Range_Dollar |
2.86 ns | 1.77 ns | -38.1% |
All 118 benchmarks
| Benchmark | main |
This branch | Change |
|---|---|---|---|
Metapack_Parse_OMC_JSON_V2 |
1.91 ns | 1.91 ns | -0.1% |
Metapack_Read_OMC_JSON_V2 |
333.66 us | 342.20 us | +2.6% |
Metapack_Write_OMC_JSON_V2 |
685.20 us | 722.72 us | +5.5% |
Crypto_CRC32_Large_JSONL |
88.83 us | 88.82 us | -0.0% |
Crypto_AES_GCM_Encrypt_128_1KB |
631.02 ns | 648.25 ns | +2.7% |
Crypto_AES_GCM_Decrypt_128_1KB |
645.65 ns | 652.83 ns | +1.1% |
Crypto_AES_GCM_Encrypt_256_1KB |
654.44 ns | 682.43 ns | +4.3% |
JOSE_VerifySignature_RS256 |
18.02 us | 17.97 us | -0.3% |
JOSE_VerifySignature_ES512 |
499.64 us | 499.82 us | +0.0% |
GZIP_Compress_ISO_Language_Set_3_Locations |
24.66 ms | 24.64 ms | -0.1% |
GZIP_Decompress_ISO_Language_Set_3_Locations |
4.20 ms | 4.19 ms | -0.1% |
GZIP_Decompress_Default_Level_ISO_Language_Set_3_Locations |
5.51 ms | 5.56 ms | +0.9% |
GZIP_Decompress_Stream_Default_Level_ISO_Language_Set_3_Locations |
7.09 ms | 6.81 ms | -3.9% |
GZIP_Compress_ISO_Language_Set_3_Schema |
1.78 ms | 1.78 ms | +0.1% |
GZIP_Decompress_ISO_Language_Set_3_Schema |
299.63 us | 300.41 us | +0.3% |
Markdown_To_HTML_Realistic_Document |
3.16 ms | 3.17 ms | +0.2% |
Markdown_To_HTML_Pathological |
10.50 ms | 10.59 ms | +0.9% |
Markdown_To_HTML_Short_Descriptions |
404.57 ns | 384.43 ns | -5.0% |
HTML_Build_Table_100000 |
33.04 ms | 33.00 ms | -0.1% |
HTML_Render_Table_100000 |
1.86 ms | 1.91 ms | +2.9% |
JSONLD_Catalog_Annotation_List_Populate |
525.83 us | 526.80 us | +0.2% |
JSONLD_Catalog_Materialize |
2.79 ms | 2.78 ms | -0.5% |
JSONL_Parse_Large |
8.02 ms | 8.07 ms | +0.6% |
JSONL_Parse_Large_GZIP |
8.14 ms | 8.19 ms | +0.6% |
URITemplateRouter_Create |
15.16 us | 15.68 us | +3.4% |
URITemplateRouter_Match |
112.88 ns | 113.26 ns | +0.3% |
URITemplateRouterView_Restore |
6.95 us | 6.96 us | +0.2% |
URITemplateRouterView_Match |
102.64 ns | 107.45 ns | +4.7% |
URITemplateRouterView_Arguments |
714.04 ns | 716.29 ns | +0.3% |
URITemplateRouter_Match_BasePath |
130.00 ns | 130.84 ns | +0.6% |
URITemplateRouterView_Match_BasePath |
118.26 ns | 121.42 ns | +2.7% |
JSONPath_Descendant_Filter_Nested |
1.49 us | 1.48 us | -0.3% |
OpenAPI_Frame_GSMTasks_3_0 |
118.67 ms | 113.62 ms | -4.3% |
OpenAPI_Format_Synthetic_3_1 |
38.80 ms | 38.53 ms | -0.7% |
Schema_Frame_WoT_References |
1.61 ms | 1.59 ms | -1.2% |
Schema_Frame_OMC_References |
7.79 ms | 7.68 ms | -1.5% |
Schema_Frame_OMC_Pointers |
13.63 ms | 13.87 ms | +1.7% |
Schema_Frame_OMC_Locations |
6.51 ms | 6.51 ms | +0.0% |
Schema_Frame_ISO_Language_Locations |
35.38 ms | 36.01 ms | +1.8% |
Schema_Frame_ISO_Language_Root |
207.81 ns | 208.77 ns | +0.5% |
Schema_Frame_KrakenD_References |
13.33 ms | 12.92 ms | -3.1% |
Schema_Frame_KrakenD_Reachable |
104.57 ms | 101.93 ms | -2.5% |
Schema_Frame_ISO_Language_Locations_To_JSON |
28.59 ms | 28.26 ms | -1.2% |
Schema_Frame_Many_Resources_References |
94.02 ms | 91.60 ms | -2.6% |
Schema_Frame_Deeply_Nested_References |
9.76 ms | 8.85 ms | -9.4% |
Schema_Format_ISO_Language |
39.87 ms | 39.10 ms | -1.9% |
Schema_Bundle_Meta_2020_12 |
425.68 us | 425.78 us | +0.0% |
Schema_Bundle_Many_Remotes_With_Fragments |
4.93 ms | 4.97 ms | +0.8% |
Pointer_Object_Traverse |
18.69 ns | 18.64 ns | -0.2% |
Pointer_Object_Try_Traverse |
18.41 ns | 18.41 ns | -0.0% |
Pointer_Push_Back_Pointer_To_Weak_Pointer |
94.17 ns | 93.96 ns | -0.2% |
Pointer_Walker_Schema_ISO_Language |
1.06 ms | 1.10 ms | +4.3% |
Pointer_Untracked_Deeply_Nested |
1.26 ms | 1.27 ms | +0.3% |
Pointer_Tracked_Deeply_Nested |
1.76 ms | 1.76 ms | -0.1% |
Pointer_Position_Tracker_Get_Deeply_Nested |
516.62 ns | 555.09 ns | +7.4% |
Schema_Tracker_ISO_Language |
4.22 ms | 4.26 ms | +0.9% |
Schema_Tracker_ISO_Language_To_JSON |
12.36 ms | 13.96 ms | +12.9% |
JSON_Array_Of_Objects_Unique |
326.87 ns | 326.09 ns | -0.2% |
JSON_Array_Of_Integers_Unique_256 |
3.00 us | 3.25 us | +8.4% |
JSON_Array_Of_Strings_Unique_Colliding_256 |
154.88 us | 162.98 us | +5.2% |
JSON_Parse_1 |
4.21 us | 4.29 us | +1.7% |
JSON_Parse_Real |
4.04 us | 4.08 us | +1.0% |
JSON_Parse_Real_Inexact |
4.04 us | 4.04 us | -0.1% |
JSON_Parse_Decimal |
6.87 us | 6.93 us | +0.9% |
JSON_Parse_Schema_ISO_Language |
3.01 ms | 3.11 ms | +3.5% |
JSON_Parse_KrakenD |
1.22 ms | 1.23 ms | +1.2% |
JSON_Stringify_ISO_Language |
1.91 ms | 2.01 ms | +5.3% |
JSON_Prettify_KrakenD |
1.45 ms | 1.45 ms | -0.2% |
JSON_Parse_Integer |
3.78 us | 3.82 us | +1.2% |
JSON_Parse_String_NonSSO_Plain |
3.09 us | 3.12 us | +1.0% |
JSON_Parse_String_SSO_Plain |
2.43 us | 2.87 us | +18.2% |
JSON_Parse_String_Escape_Heavy |
14.45 us | 14.47 us | +0.1% |
JSON_Parse_Object_Short_Keys |
8.98 us | 9.10 us | +1.4% |
JSON_Parse_Object_Scalar_Properties |
4.55 us | 4.59 us | +1.0% |
JSON_Parse_Object_Array_Properties |
5.18 us | 5.16 us | -0.4% |
JSON_Parse_Object_Object_Properties |
5.27 us | 5.27 us | -0.0% |
JSON_Parse_Nested_Containers |
33.93 us | 33.79 us | -0.4% |
JSON_Fast_Hash_Helm_Chart_Lock |
56.34 ns | 57.09 ns | +1.3% |
JSON_Equality_Helm_Chart_Lock |
119.82 ns | 122.41 ns | +2.2% |
JSON_String_Equal_10 |
5.52 ns | 5.83 ns | +5.5% |
JSON_String_Equal_100 |
6.38 ns | 6.65 ns | +4.2% |
JSON_String_Equal_Small_By_Perfect_Hash_10 |
0.55 ns | 0.55 ns | +0.2% |
JSON_String_Equal_Small_By_Runtime_Perfect_Hash_10 |
10.90 ns | 10.90 ns | -0.0% |
JSON_String_Fast_Hash_10 |
1.71 ns | 1.71 ns | +0.0% |
JSON_String_Fast_Hash_100 |
1.71 ns | 1.71 ns | -0.1% |
JSON_String_Key_Hash_10 |
2.29 ns | 2.05 ns | -10.4% |
JSON_String_Key_Hash_100 |
12.27 ns | 12.27 ns | -0.0% |
JSON_Object_Defines_Miss_Same_Length |
2.73 ns | 2.45 ns | -10.1% |
JSON_Object_Defines_Miss_Too_Small |
2.73 ns | 2.46 ns | -10.0% |
JSON_Object_Defines_Miss_Too_Large |
2.46 ns | 2.46 ns | +0.0% |
JSON_From_String_Copy |
8.72 ns | 8.62 ns | -1.1% |
JSON_From_String_Temporary |
7.42 ns | 7.43 ns | +0.2% |
JSON_Number_To_Double |
20.46 ns | 20.46 ns | +0.0% |
JSON_Object_At_Last_Key_8 |
3.00 ns | 3.00 ns | +0.1% |
JSON_Object_At_Last_Key_32 |
10.09 ns | 10.10 ns | +0.0% |
JSON_Object_At_Last_Key_128 |
36.29 ns | 36.03 ns | -0.7% |
JSON_Object_At_Last_Key_512 |
197.29 ns | 198.25 ns | +0.5% |
JSON_Divisible_By_Decimal |
244.40 ns | 245.89 ns | +0.6% |
JSON_PropertySet_Contains |
41.23 ns | 37.69 ns | -8.6% |
JSON_PropertySet_Filter_Object_Properties |
32.20 ns | 31.93 ns | -0.9% |
JSON_PropertySet_Insert |
318.65 ns | 325.26 ns | +2.1% |
JSON_Stringify_Schema_Web_Of_Things |
44.02 us | 44.50 us | +1.1% |
JSON_Prettify_Schema_Web_Of_Things |
113.13 us | 110.98 us | -1.9% |
Regex_Lower_S_Or_Upper_S_Asterisk |
1.57 ns | 1.57 ns | -0.0% |
Regex_Caret_Lower_S_Or_Upper_S_Asterisk_Dollar |
1.50 ns | 1.50 ns | -0.0% |
Regex_Period_Asterisk |
1.57 ns | 1.57 ns | -0.0% |
Regex_Group_Period_Asterisk_Group |
1.50 ns | 1.50 ns | -0.0% |
Regex_Period_Plus |
1.57 ns | 1.57 ns | -0.0% |
Regex_Period |
1.50 ns | 1.50 ns | -0.0% |
Regex_Caret_Period_Plus_Dollar |
1.57 ns | 1.57 ns | -0.0% |
Regex_Caret_Group_Period_Plus_Group_Dollar |
1.50 ns | 1.50 ns | -0.1% |
Regex_Caret_Period_Asterisk_Dollar |
1.57 ns | 1.57 ns | -0.0% |
Regex_Caret_Group_Period_Asterisk_Group_Dollar |
1.50 ns | 1.50 ns | +0.0% |
Regex_Caret_X_Hyphen |
4.02 ns | 3.95 ns | -1.7% |
Regex_Period_Md_Dollar |
36.57 ns | 26.53 ns | -27.4% |
Regex_Caret_Slash_Period_Asterisk |
5.11 ns | 5.11 ns | -0.0% |
Regex_Caret_Period_Range_Dollar |
2.86 ns | 1.77 ns | -38.1% |
Regex_Nested_Backtrack |
38.22 ns | 34.58 ns | -9.5% |
Benchmark
|
| Benchmark | main |
This branch | Change |
|---|---|---|---|
Metapack_Write_OMC_JSON_V2 |
647.63 us | 2.11 ms | +225.4% |
Metapack_Parse_OMC_JSON_V2 |
1.38 ns | 2.37 ns | +72.4% |
Crypto_AES_GCM_Encrypt_256_1KB |
4.10 us | 6.32 us | +54.1% |
JSON_String_Key_Hash_100 |
2.36 ns | 3.49 ns | +48.2% |
JOSE_VerifySignature_ES512 |
1.04 ms | 1.49 ms | +43.4% |
Metapack_Read_OMC_JSON_V2 |
304.92 us | 425.53 us | +39.6% |
JSON_Object_Defines_Miss_Same_Length |
2.87 ns | 3.89 ns | +35.6% |
Markdown_To_HTML_Pathological |
9.91 ms | 13.30 ms | +34.2% |
Crypto_AES_GCM_Encrypt_128_1KB |
3.91 us | 5.22 us | +33.3% |
JSON_PropertySet_Insert |
307.77 ns | 403.17 ns | +31.0% |
JSON_Stringify_Schema_Web_Of_Things |
64.22 us | 83.67 us | +30.3% |
HTML_Render_Table_100000 |
1.82 ms | 2.37 ms | +29.9% |
GZIP_Decompress_Stream_Default_Level_ISO_Language_Set_3_Locations |
5.95 ms | 7.72 ms | +29.8% |
GZIP_Compress_ISO_Language_Set_3_Schema |
2.05 ms | 2.66 ms | +29.5% |
Markdown_To_HTML_Short_Descriptions |
359.78 ns | 464.34 ns | +29.1% |
JSONPath_Descendant_Filter_Nested |
1.47 us | 1.88 us | +28.2% |
Crypto_CRC32_Large_JSONL |
21.56 us | 27.45 us | +27.3% |
GZIP_Decompress_Default_Level_ISO_Language_Set_3_Locations |
4.70 ms | 5.98 ms | +27.3% |
Crypto_AES_GCM_Decrypt_128_1KB |
4.18 us | 5.26 us | +26.0% |
JSON_Object_At_Last_Key_512 |
200.17 ns | 250.87 ns | +25.3% |
JSONLD_Catalog_Materialize |
2.62 ms | 3.24 ms | +23.6% |
JSON_Object_At_Last_Key_128 |
63.22 ns | 77.96 ns | +23.3% |
HTML_Build_Table_100000 |
31.37 ms | 38.03 ms | +21.2% |
Schema_Frame_OMC_Pointers |
19.06 ms | 23.10 ms | +21.2% |
JSONLD_Catalog_Annotation_List_Populate |
525.26 us | 626.78 us | +19.3% |
JSON_From_String_Temporary |
7.04 ns | 8.29 ns | +17.8% |
JOSE_VerifySignature_RS256 |
25.76 us | 29.96 us | +16.3% |
GZIP_Decompress_ISO_Language_Set_3_Schema |
363.59 us | 420.73 us | +15.7% |
JSON_Object_Defines_Miss_Too_Small |
3.17 ns | 3.55 ns | +12.0% |
GZIP_Decompress_ISO_Language_Set_3_Locations |
3.46 ms | 3.88 ms | +11.9% |
JSONL_Parse_Large |
6.99 ms | 7.81 ms | +11.8% |
JSON_Object_At_Last_Key_32 |
14.73 ns | 16.44 ns | +11.6% |
JSON_String_Equal_Small_By_Runtime_Perfect_Hash_10 |
3.51 ns | 3.85 ns | +9.8% |
Schema_Tracker_ISO_Language_To_JSON |
12.51 ms | 13.71 ms | +9.6% |
GZIP_Compress_ISO_Language_Set_3_Locations |
33.37 ms | 36.55 ms | +9.5% |
Schema_Tracker_ISO_Language |
3.33 ms | 3.58 ms | +7.5% |
Schema_Frame_OMC_References |
10.26 ms | 11.01 ms | +7.3% |
Regex_Lower_S_Or_Upper_S_Asterisk |
1.92 ns | 2.05 ns | +6.9% |
Markdown_To_HTML_Realistic_Document |
3.32 ms | 3.54 ms | +6.6% |
Pointer_Object_Try_Traverse |
39.09 ns | 41.65 ns | +6.6% |
JSON_Parse_Integer |
2.74 us | 2.60 us | -5.2% |
Schema_Frame_ISO_Language_Root |
146.13 ns | 138.34 ns | -5.3% |
URITemplateRouterView_Match_BasePath |
160.58 ns | 151.61 ns | -5.6% |
Pointer_Walker_Schema_ISO_Language |
1.60 ms | 1.51 ms | -5.6% |
Regex_Caret_Lower_S_Or_Upper_S_Asterisk_Dollar |
1.87 ns | 1.76 ns | -5.9% |
JSON_Prettify_Schema_Web_Of_Things |
196.38 us | 184.49 us | -6.1% |
Schema_Frame_ISO_Language_Locations |
28.34 ms | 26.54 ms | -6.3% |
JSON_String_Fast_Hash_10 |
2.45 ns | 2.29 ns | -6.4% |
JSON_Parse_String_NonSSO_Plain |
3.43 us | 3.16 us | -7.9% |
JSON_Fast_Hash_Helm_Chart_Lock |
57.90 ns | 53.28 ns | -8.0% |
Regex_Caret_Period_Plus_Dollar |
1.88 ns | 1.73 ns | -8.2% |
OpenAPI_Frame_GSMTasks_3_0 |
146.00 ms | 133.88 ms | -8.3% |
JSON_String_Equal_10 |
7.57 ns | 6.93 ns | -8.4% |
URITemplateRouterView_Restore |
11.42 us | 10.39 us | -9.0% |
Schema_Frame_ISO_Language_Locations_To_JSON |
24.89 ms | 22.55 ms | -9.4% |
Schema_Frame_Deeply_Nested_References |
13.85 ms | 12.52 ms | -9.6% |
JSON_Parse_Nested_Containers |
27.11 us | 24.47 us | -9.8% |
URITemplateRouterView_Match |
143.25 ns | 127.97 ns | -10.7% |
JSON_Parse_Object_Scalar_Properties |
3.05 us | 2.72 us | -10.7% |
Schema_Bundle_Many_Remotes_With_Fragments |
6.10 ms | 5.45 ms | -10.8% |
JSON_String_Fast_Hash_100 |
1.98 ns | 1.77 ns | -10.9% |
JSON_Prettify_KrakenD |
1.93 ms | 1.72 ms | -10.9% |
JSON_String_Equal_100 |
7.66 ns | 6.78 ns | -11.5% |
JSONL_Parse_Large_GZIP |
7.97 ms | 7.04 ms | -11.7% |
JSON_Array_Of_Strings_Unique_Colliding_256 |
175.18 us | 154.02 us | -12.1% |
Schema_Format_ISO_Language |
27.66 ms | 24.31 ms | -12.1% |
Regex_Caret_Group_Period_Asterisk_Group_Dollar |
1.98 ns | 1.74 ns | -12.1% |
Regex_Period_Asterisk |
1.99 ns | 1.74 ns | -12.4% |
JSON_Parse_String_SSO_Plain |
2.09 us | 1.82 us | -13.0% |
Regex_Caret_Period_Range_Dollar |
2.48 ns | 2.15 ns | -13.1% |
URITemplateRouter_Match |
199.36 ns | 173.18 ns | -13.1% |
Schema_Frame_KrakenD_References |
16.71 ms | 14.50 ms | -13.2% |
Regex_Caret_Period_Asterisk_Dollar |
1.99 ns | 1.72 ns | -13.6% |
JSON_Parse_Decimal |
5.97 us | 5.10 us | -14.6% |
JSON_Equality_Helm_Chart_Lock |
196.97 ns | 168.15 ns | -14.6% |
Regex_Nested_Backtrack |
33.92 ns | 28.94 ns | -14.7% |
JSON_Parse_Schema_ISO_Language |
2.64 ms | 2.23 ms | -15.7% |
JSON_Parse_KrakenD |
950.91 us | 801.25 us | -15.7% |
JSON_Parse_1 |
3.69 us | 3.10 us | -16.0% |
Pointer_Object_Traverse |
27.26 ns | 22.46 ns | -17.6% |
JSON_Parse_Real |
4.02 us | 3.26 us | -18.8% |
Regex_Group_Period_Asterisk_Group |
2.15 ns | 1.74 ns | -19.2% |
Regex_Caret_Slash_Period_Asterisk |
5.84 ns | 4.69 ns | -19.6% |
Regex_Caret_Group_Period_Plus_Group_Dollar |
2.16 ns | 1.73 ns | -19.8% |
JSON_Parse_Object_Array_Properties |
4.16 us | 3.34 us | -19.9% |
Schema_Bundle_Meta_2020_12 |
569.61 us | 455.89 us | -20.0% |
JSON_Stringify_ISO_Language |
2.93 ms | 2.34 ms | -20.1% |
Schema_Frame_KrakenD_Reachable |
217.65 ms | 165.17 ms | -24.1% |
Schema_Frame_Many_Resources_References |
111.09 ms | 80.49 ms | -27.5% |
JSON_Parse_Object_Object_Properties |
5.02 us | 3.44 us | -31.5% |
Regex_Period_Plus |
2.66 ns | 1.73 ns | -34.9% |
All 118 benchmarks
| Benchmark | main |
This branch | Change |
|---|---|---|---|
Regex_Lower_S_Or_Upper_S_Asterisk |
1.92 ns | 2.05 ns | +6.9% |
Regex_Caret_Lower_S_Or_Upper_S_Asterisk_Dollar |
1.87 ns | 1.76 ns | -5.9% |
Regex_Period_Asterisk |
1.99 ns | 1.74 ns | -12.4% |
Regex_Group_Period_Asterisk_Group |
2.15 ns | 1.74 ns | -19.2% |
Regex_Period_Plus |
2.66 ns | 1.73 ns | -34.9% |
Regex_Period |
1.81 ns | 1.74 ns | -3.8% |
Regex_Caret_Period_Plus_Dollar |
1.88 ns | 1.73 ns | -8.2% |
Regex_Caret_Group_Period_Plus_Group_Dollar |
2.16 ns | 1.73 ns | -19.8% |
Regex_Caret_Period_Asterisk_Dollar |
1.99 ns | 1.72 ns | -13.6% |
Regex_Caret_Group_Period_Asterisk_Group_Dollar |
1.98 ns | 1.74 ns | -12.1% |
Regex_Caret_X_Hyphen |
6.43 ns | 6.27 ns | -2.5% |
Regex_Period_Md_Dollar |
18.09 ns | 18.86 ns | +4.2% |
Regex_Caret_Slash_Period_Asterisk |
5.84 ns | 4.69 ns | -19.6% |
Regex_Caret_Period_Range_Dollar |
2.48 ns | 2.15 ns | -13.1% |
Regex_Nested_Backtrack |
33.92 ns | 28.94 ns | -14.7% |
JSON_Array_Of_Objects_Unique |
383.16 ns | 385.49 ns | +0.6% |
JSON_Array_Of_Integers_Unique_256 |
4.96 us | 4.75 us | -4.3% |
JSON_Array_Of_Strings_Unique_Colliding_256 |
175.18 us | 154.02 us | -12.1% |
JSON_Parse_1 |
3.69 us | 3.10 us | -16.0% |
JSON_Parse_Real |
4.02 us | 3.26 us | -18.8% |
JSON_Parse_Real_Inexact |
3.29 us | 3.15 us | -4.3% |
JSON_Parse_Decimal |
5.97 us | 5.10 us | -14.6% |
JSON_Parse_Schema_ISO_Language |
2.64 ms | 2.23 ms | -15.7% |
JSON_Parse_KrakenD |
950.91 us | 801.25 us | -15.7% |
JSON_Stringify_ISO_Language |
2.93 ms | 2.34 ms | -20.1% |
JSON_Prettify_KrakenD |
1.93 ms | 1.72 ms | -10.9% |
JSON_Parse_Integer |
2.74 us | 2.60 us | -5.2% |
JSON_Parse_String_NonSSO_Plain |
3.43 us | 3.16 us | -7.9% |
JSON_Parse_String_SSO_Plain |
2.09 us | 1.82 us | -13.0% |
JSON_Parse_String_Escape_Heavy |
17.69 us | 18.51 us | +4.7% |
JSON_Parse_Object_Short_Keys |
5.26 us | 5.32 us | +1.2% |
JSON_Parse_Object_Scalar_Properties |
3.05 us | 2.72 us | -10.7% |
JSON_Parse_Object_Array_Properties |
4.16 us | 3.34 us | -19.9% |
JSON_Parse_Object_Object_Properties |
5.02 us | 3.44 us | -31.5% |
JSON_Parse_Nested_Containers |
27.11 us | 24.47 us | -9.8% |
JSON_Fast_Hash_Helm_Chart_Lock |
57.90 ns | 53.28 ns | -8.0% |
JSON_Equality_Helm_Chart_Lock |
196.97 ns | 168.15 ns | -14.6% |
JSON_String_Equal_10 |
7.57 ns | 6.93 ns | -8.4% |
JSON_String_Equal_100 |
7.66 ns | 6.78 ns | -11.5% |
JSON_String_Equal_Small_By_Perfect_Hash_10 |
0.35 ns | 0.37 ns | +5.0% |
JSON_String_Equal_Small_By_Runtime_Perfect_Hash_10 |
3.51 ns | 3.85 ns | +9.8% |
JSON_String_Fast_Hash_10 |
2.45 ns | 2.29 ns | -6.4% |
JSON_String_Fast_Hash_100 |
1.98 ns | 1.77 ns | -10.9% |
JSON_String_Key_Hash_10 |
1.89 ns | 1.81 ns | -4.0% |
JSON_String_Key_Hash_100 |
2.36 ns | 3.49 ns | +48.2% |
JSON_Object_Defines_Miss_Same_Length |
2.87 ns | 3.89 ns | +35.6% |
JSON_Object_Defines_Miss_Too_Small |
3.17 ns | 3.55 ns | +12.0% |
JSON_Object_Defines_Miss_Too_Large |
3.36 ns | 3.36 ns | -0.1% |
JSON_From_String_Copy |
12.16 ns | 12.58 ns | +3.4% |
JSON_From_String_Temporary |
7.04 ns | 8.29 ns | +17.8% |
JSON_Number_To_Double |
11.51 ns | 11.89 ns | +3.4% |
JSON_Object_At_Last_Key_8 |
4.82 ns | 4.84 ns | +0.4% |
JSON_Object_At_Last_Key_32 |
14.73 ns | 16.44 ns | +11.6% |
JSON_Object_At_Last_Key_128 |
63.22 ns | 77.96 ns | +23.3% |
JSON_Object_At_Last_Key_512 |
200.17 ns | 250.87 ns | +25.3% |
JSON_Divisible_By_Decimal |
280.98 ns | 272.83 ns | -2.9% |
JSON_PropertySet_Contains |
53.42 ns | 52.86 ns | -1.0% |
JSON_PropertySet_Filter_Object_Properties |
41.31 ns | 39.26 ns | -5.0% |
JSON_PropertySet_Insert |
307.77 ns | 403.17 ns | +31.0% |
JSON_Stringify_Schema_Web_Of_Things |
64.22 us | 83.67 us | +30.3% |
JSON_Prettify_Schema_Web_Of_Things |
196.38 us | 184.49 us | -6.1% |
Pointer_Object_Traverse |
27.26 ns | 22.46 ns | -17.6% |
Pointer_Object_Try_Traverse |
39.09 ns | 41.65 ns | +6.6% |
Pointer_Push_Back_Pointer_To_Weak_Pointer |
146.14 ns | 152.72 ns | +4.5% |
Pointer_Walker_Schema_ISO_Language |
1.60 ms | 1.51 ms | -5.6% |
Pointer_Untracked_Deeply_Nested |
973.95 us | 1.01 ms | +4.0% |
Pointer_Tracked_Deeply_Nested |
1.34 ms | 1.36 ms | +0.9% |
Pointer_Position_Tracker_Get_Deeply_Nested |
371.09 ns | 374.59 ns | +0.9% |
Schema_Tracker_ISO_Language |
3.33 ms | 3.58 ms | +7.5% |
Schema_Tracker_ISO_Language_To_JSON |
12.51 ms | 13.71 ms | +9.6% |
Schema_Frame_WoT_References |
2.07 ms | 2.14 ms | +3.5% |
Schema_Frame_OMC_References |
10.26 ms | 11.01 ms | +7.3% |
Schema_Frame_OMC_Pointers |
19.06 ms | 23.10 ms | +21.2% |
Schema_Frame_OMC_Locations |
9.74 ms | 10.12 ms | +3.9% |
Schema_Frame_ISO_Language_Locations |
28.34 ms | 26.54 ms | -6.3% |
Schema_Frame_ISO_Language_Root |
146.13 ns | 138.34 ns | -5.3% |
Schema_Frame_KrakenD_References |
16.71 ms | 14.50 ms | -13.2% |
Schema_Frame_KrakenD_Reachable |
217.65 ms | 165.17 ms | -24.1% |
Schema_Frame_ISO_Language_Locations_To_JSON |
24.89 ms | 22.55 ms | -9.4% |
Schema_Frame_Many_Resources_References |
111.09 ms | 80.49 ms | -27.5% |
Schema_Frame_Deeply_Nested_References |
13.85 ms | 12.52 ms | -9.6% |
Schema_Format_ISO_Language |
27.66 ms | 24.31 ms | -12.1% |
Schema_Bundle_Meta_2020_12 |
569.61 us | 455.89 us | -20.0% |
Schema_Bundle_Many_Remotes_With_Fragments |
6.10 ms | 5.45 ms | -10.8% |
OpenAPI_Frame_GSMTasks_3_0 |
146.00 ms | 133.88 ms | -8.3% |
OpenAPI_Format_Synthetic_3_1 |
42.97 ms | 40.86 ms | -4.9% |
JSONPath_Descendant_Filter_Nested |
1.47 us | 1.88 us | +28.2% |
URITemplateRouter_Create |
20.78 us | 19.93 us | -4.1% |
URITemplateRouter_Match |
199.36 ns | 173.18 ns | -13.1% |
URITemplateRouterView_Restore |
11.42 us | 10.39 us | -9.0% |
URITemplateRouterView_Match |
143.25 ns | 127.97 ns | -10.7% |
URITemplateRouterView_Arguments |
609.30 ns | 613.77 ns | +0.7% |
URITemplateRouter_Match_BasePath |
214.98 ns | 216.62 ns | +0.8% |
URITemplateRouterView_Match_BasePath |
160.58 ns | 151.61 ns | -5.6% |
JSONL_Parse_Large |
6.99 ms | 7.81 ms | +11.8% |
JSONL_Parse_Large_GZIP |
7.97 ms | 7.04 ms | -11.7% |
JSONLD_Catalog_Annotation_List_Populate |
525.26 us | 626.78 us | +19.3% |
JSONLD_Catalog_Materialize |
2.62 ms | 3.24 ms | +23.6% |
HTML_Build_Table_100000 |
31.37 ms | 38.03 ms | +21.2% |
HTML_Render_Table_100000 |
1.82 ms | 2.37 ms | +29.9% |
Markdown_To_HTML_Realistic_Document |
3.32 ms | 3.54 ms | +6.6% |
Markdown_To_HTML_Pathological |
9.91 ms | 13.30 ms | +34.2% |
Markdown_To_HTML_Short_Descriptions |
359.78 ns | 464.34 ns | +29.1% |
GZIP_Compress_ISO_Language_Set_3_Locations |
33.37 ms | 36.55 ms | +9.5% |
GZIP_Decompress_ISO_Language_Set_3_Locations |
3.46 ms | 3.88 ms | +11.9% |
GZIP_Decompress_Default_Level_ISO_Language_Set_3_Locations |
4.70 ms | 5.98 ms | +27.3% |
GZIP_Decompress_Stream_Default_Level_ISO_Language_Set_3_Locations |
5.95 ms | 7.72 ms | +29.8% |
GZIP_Compress_ISO_Language_Set_3_Schema |
2.05 ms | 2.66 ms | +29.5% |
GZIP_Decompress_ISO_Language_Set_3_Schema |
363.59 us | 420.73 us | +15.7% |
JOSE_VerifySignature_RS256 |
25.76 us | 29.96 us | +16.3% |
JOSE_VerifySignature_ES512 |
1.04 ms | 1.49 ms | +43.4% |
Crypto_CRC32_Large_JSONL |
21.56 us | 27.45 us | +27.3% |
Crypto_AES_GCM_Encrypt_128_1KB |
3.91 us | 5.22 us | +33.3% |
Crypto_AES_GCM_Decrypt_128_1KB |
4.18 us | 5.26 us | +26.0% |
Crypto_AES_GCM_Encrypt_256_1KB |
4.10 us | 6.32 us | +54.1% |
Metapack_Parse_OMC_JSON_V2 |
1.38 ns | 2.37 ns | +72.4% |
Metapack_Read_OMC_JSON_V2 |
304.92 us | 425.53 us | +39.6% |
Metapack_Write_OMC_JSON_V2 |
647.63 us | 2.11 ms | +225.4% |
Signed-off-by: Juan Cruz Viotti jv@jviotti.com